diff --git a/quic/core/http/http_decoder.cc b/quic/core/http/http_decoder.cc
index 01d5e4b..972cb37 100644
--- a/quic/core/http/http_decoder.cc
+++ b/quic/core/http/http_decoder.cc
@@ -106,6 +106,9 @@
   } else if (current_frame_type_ == 0x1) {
     visitor_->OnHeadersFrameStart(Http3FrameLengths(
         current_length_field_size_ + kFrameTypeLength, current_frame_length_));
+  } else if (current_frame_type_ == 0x4) {
+    visitor_->OnSettingsFrameStart(Http3FrameLengths(
+        current_length_field_size_ + kFrameTypeLength, current_frame_length_));
   }
 
   state_ = (remaining_frame_length_ == 0) ? STATE_FINISH_PARSING
diff --git a/quic/core/http/http_decoder.h b/quic/core/http/http_decoder.h
index 1cc973a..2318a03 100644
--- a/quic/core/http/http_decoder.h
+++ b/quic/core/http/http_decoder.h
@@ -56,6 +56,9 @@
     // Called when a GOAWAY frame has been successfully parsed.
     virtual void OnGoAwayFrame(const GoAwayFrame& frame) = 0;
 
+    // Called when a SETTINGS frame has been received.
+    virtual void OnSettingsFrameStart(Http3FrameLengths frame_length) = 0;
+
     // Called when a SETTINGS frame has been successfully parsed.
     virtual void OnSettingsFrame(const SettingsFrame& frame) = 0;
 
diff --git a/quic/core/http/http_decoder_test.cc b/quic/core/http/http_decoder_test.cc
index 53b5f86..a4202e1 100644
--- a/quic/core/http/http_decoder_test.cc
+++ b/quic/core/http/http_decoder_test.cc
@@ -22,6 +22,7 @@
   MOCK_METHOD1(OnCancelPushFrame, void(const CancelPushFrame& frame));
   MOCK_METHOD1(OnMaxPushIdFrame, void(const MaxPushIdFrame& frame));
   MOCK_METHOD1(OnGoAwayFrame, void(const GoAwayFrame& frame));
+  MOCK_METHOD1(OnSettingsFrameStart, void(Http3FrameLengths frame_lengths));
   MOCK_METHOD1(OnSettingsFrame, void(const SettingsFrame& frame));
   MOCK_METHOD1(OnDuplicatePushFrame, void(const DuplicatePushFrame& frame));
 
@@ -271,6 +272,7 @@
   frame.values[6] = 5;
 
   // Process the full frame.
+  EXPECT_CALL(visitor_, OnSettingsFrameStart(Http3FrameLengths(2, 6)));
   EXPECT_CALL(visitor_, OnSettingsFrame(frame));
   EXPECT_EQ(QUIC_ARRAYSIZE(input),
             decoder_.ProcessInput(input, QUIC_ARRAYSIZE(input)));
@@ -278,6 +280,7 @@
   EXPECT_EQ("", decoder_.error_detail());
 
   // Process the frame incremently.
+  EXPECT_CALL(visitor_, OnSettingsFrameStart(Http3FrameLengths(2, 6)));
   EXPECT_CALL(visitor_, OnSettingsFrame(frame));
   for (char c : input) {
     EXPECT_EQ(1u, decoder_.ProcessInput(&c, 1));
diff --git a/quic/core/http/quic_spdy_stream.cc b/quic/core/http/quic_spdy_stream.cc
index 6d15292..221a4dd 100644
--- a/quic/core/http/quic_spdy_stream.cc
+++ b/quic/core/http/quic_spdy_stream.cc
@@ -55,6 +55,10 @@
     CloseConnectionOnWrongFrame("Goaway");
   }
 
+  void OnSettingsFrameStart(Http3FrameLengths frame_lengths) override {
+    CloseConnectionOnWrongFrame("Settings");
+  }
+
   void OnSettingsFrame(const SettingsFrame& frame) override {
     CloseConnectionOnWrongFrame("Settings");
   }
