diff --git a/src/node_http2.cc b/src/node_http2.cc
index a8eb0a37bf8062..610c8e8f2351ba 100755
--- a/src/node_http2.cc
+++ b/src/node_http2.cc
@@ -67,11 +67,12 @@ enum Http2PaddingBufferFields {
 };
 
 struct http2_state {
+  // doubles first so that they are always sizeof(double)-aligned
+  double session_state_buffer[IDX_SESSION_STATE_COUNT];
+  double stream_state_buffer[IDX_STREAM_STATE_COUNT];
   uint32_t padding_buffer[PADDING_BUF_FIELD_COUNT];
   uint32_t options_buffer[IDX_OPTIONS_FLAGS + 1];
   uint32_t settings_buffer[IDX_SETTINGS_COUNT + 1];
-  double session_state_buffer[IDX_SESSION_STATE_COUNT];
-  double stream_state_buffer[IDX_STREAM_STATE_COUNT];
 };
 
 Freelist<nghttp2_data_chunk_t, FREELIST_MAX>
diff --git a/src/node_perf_common.h b/src/node_perf_common.h
index 30efcb6134b741..dc884cac97ce88 100644
--- a/src/node_perf_common.h
+++ b/src/node_perf_common.h
@@ -61,8 +61,9 @@ enum PerformanceEntryType {
   } while (0);
 
 struct performance_state {
-  uint32_t observers[NODE_PERFORMANCE_ENTRY_TYPE_INVALID];
+  // doubles first so that they are always sizeof(double)-aligned
   double milestones[NODE_PERFORMANCE_MILESTONE_INVALID];
+  uint32_t observers[NODE_PERFORMANCE_ENTRY_TYPE_INVALID];
 };
 
 }  // namespace performance