diff --git a/http2/adapter/callback_visitor.h b/http2/adapter/callback_visitor.h
index 5cf6304..b5afc83 100644
--- a/http2/adapter/callback_visitor.h
+++ b/http2/adapter/callback_visitor.h
@@ -77,7 +77,7 @@
   void OnErrorDebug(absl::string_view message) override;
 
  private:
-  QUICHE_EXPORT_PRIVATE struct StreamInfo {
+  struct QUICHE_EXPORT_PRIVATE StreamInfo {
     bool before_sent_headers = false;
     bool sent_headers = false;
     bool received_headers = false;
diff --git a/http2/adapter/http2_protocol.h b/http2/adapter/http2_protocol.h
index 71a6db6..2ed3a50 100644
--- a/http2/adapter/http2_protocol.h
+++ b/http2/adapter/http2_protocol.h
@@ -35,7 +35,7 @@
 using Header = std::pair<HeaderRep, HeaderRep>;
 
 // Represents an HTTP/2 SETTINGS key-value parameter.
-QUICHE_EXPORT_PRIVATE struct Http2Setting {
+struct QUICHE_EXPORT_PRIVATE Http2Setting {
   Http2SettingsId id;
   uint32_t value;
 };
diff --git a/http2/adapter/http2_session.h b/http2/adapter/http2_session.h
index 49e671d..3b57d8f 100644
--- a/http2/adapter/http2_session.h
+++ b/http2/adapter/http2_session.h
@@ -10,7 +10,7 @@
 namespace http2 {
 namespace adapter {
 
-QUICHE_EXPORT_PRIVATE struct Http2SessionCallbacks {};
+struct QUICHE_EXPORT_PRIVATE Http2SessionCallbacks {};
 
 // A class to represent the state of a single HTTP/2 connection.
 class QUICHE_EXPORT_PRIVATE Http2Session {
diff --git a/http2/adapter/oghttp2_session.h b/http2/adapter/oghttp2_session.h
index 96dcce2..c6aca48 100644
--- a/http2/adapter/oghttp2_session.h
+++ b/http2/adapter/oghttp2_session.h
@@ -22,7 +22,7 @@
     : public Http2Session,
       public spdy::SpdyFramerVisitorInterface {
  public:
-  QUICHE_EXPORT_PRIVATE struct Options {
+  struct QUICHE_EXPORT_PRIVATE Options {
     Perspective perspective = Perspective::kClient;
   };
 
@@ -151,7 +151,7 @@
                       Http2VisitorInterface::OnHeaderResult result);
 
  private:
-  QUICHE_EXPORT_PRIVATE struct StreamState {
+  struct QUICHE_EXPORT_PRIVATE StreamState {
     StreamState(int32_t stream_receive_window,
                 WindowManager::WindowUpdateListener listener)
         : window_manager(stream_receive_window, std::move(listener)) {}
diff --git a/spdy/core/spdy_protocol.h b/spdy/core/spdy_protocol.h
index 651a889..bb85acd 100644
--- a/spdy/core/spdy_protocol.h
+++ b/spdy/core/spdy_protocol.h
@@ -351,7 +351,7 @@
 // exclusive bit}. Templated to allow for use by QUIC code; SPDY and HTTP/2
 // code should use the concrete type instantiation SpdyStreamPrecedence.
 template <typename StreamIdType>
-QUICHE_EXPORT_PRIVATE class StreamPrecedence {
+class QUICHE_EXPORT_PRIVATE StreamPrecedence {
  public:
   // Constructs instance that is a SPDY 3.x priority. Clamps priority value to
   // the valid range [0, 7].
@@ -427,7 +427,7 @@
   }
 
  private:
-  QUICHE_EXPORT_PRIVATE struct Http2StreamDependency {
+  struct QUICHE_EXPORT_PRIVATE Http2StreamDependency {
     StreamIdType parent_id;
     int weight;
     bool is_exclusive;
@@ -920,7 +920,7 @@
   std::string priority_field_value_;
 };
 
-QUICHE_EXPORT_PRIVATE struct AcceptChOriginValuePair {
+struct QUICHE_EXPORT_PRIVATE AcceptChOriginValuePair {
   std::string origin;
   std::string value;
   bool operator==(const AcceptChOriginValuePair& rhs) const {
