diff --git a/quic/core/http/quic_spdy_session.cc b/quic/core/http/quic_spdy_session.cc
index af11a1f..06b1760 100644
--- a/quic/core/http/quic_spdy_session.cc
+++ b/quic/core/http/quic_spdy_session.cc
@@ -406,7 +406,6 @@
       ietf_server_push_enabled_(
           GetQuicFlag(FLAGS_quic_enable_http3_server_push)),
       http3_max_push_id_sent_(false),
-      reject_spdy_settings_(GetQuicReloadableFlag(quic_reject_spdy_settings)),
       goaway_with_max_stream_id_(
           GetQuicReloadableFlag(quic_goaway_with_max_stream_id)) {
   if (goaway_with_max_stream_id_) {
@@ -980,9 +979,6 @@
 
 bool QuicSpdySession::OnSetting(uint64_t id, uint64_t value) {
   if (VersionUsesHttp3(transport_version())) {
-    if (reject_spdy_settings_) {
-      QUIC_RELOADABLE_FLAG_COUNT(quic_reject_spdy_settings);
-    }
     // SETTINGS frame received on the control stream.
     switch (id) {
       case SETTINGS_QPACK_MAX_TABLE_CAPACITY: {
@@ -1064,14 +1060,11 @@
       case spdy::SETTINGS_INITIAL_WINDOW_SIZE:
         ABSL_FALLTHROUGH_INTENDED;
       case spdy::SETTINGS_MAX_FRAME_SIZE:
-        if (reject_spdy_settings_) {
-          CloseConnectionWithDetails(
-              QUIC_HTTP_RECEIVE_SPDY_SETTING,
-              quiche::QuicheStrCat(
-                  "received HTTP/2 specific setting in HTTP/3 session: ", id));
-          return false;
-        }
-        break;
+        CloseConnectionWithDetails(
+            QUIC_HTTP_RECEIVE_SPDY_SETTING,
+            quiche::QuicheStrCat(
+                "received HTTP/2 specific setting in HTTP/3 session: ", id));
+        return false;
       default:
         QUIC_DVLOG(1) << ENDPOINT << "Unknown setting identifier " << id
                       << " received with value " << value;
diff --git a/quic/core/http/quic_spdy_session.h b/quic/core/http/quic_spdy_session.h
index 5671901..6e7ccb8 100644
--- a/quic/core/http/quic_spdy_session.h
+++ b/quic/core/http/quic_spdy_session.h
@@ -603,9 +603,6 @@
   // recent MAX_PUSH_ID frame.  Once true, never goes back to false.
   bool http3_max_push_id_sent_;
 
-  // Latched value of reloadable flag quic_reject_spdy_settings.
-  const bool reject_spdy_settings_;
-
   // Latched value of reloadable flag quic_goaway_with_max_stream_id.
   const bool goaway_with_max_stream_id_;
 };
diff --git a/quic/core/http/quic_spdy_session_test.cc b/quic/core/http/quic_spdy_session_test.cc
index 3b8db73..d16935b 100644
--- a/quic/core/http/quic_spdy_session_test.cc
+++ b/quic/core/http/quic_spdy_session_test.cc
@@ -3214,8 +3214,7 @@
 }
 
 TEST_P(QuicSpdySessionTestClient, ReceiveSpdySettingInHttp3) {
-  if (!VersionUsesHttp3(transport_version()) ||
-      !GetQuicReloadableFlag(quic_reject_spdy_settings)) {
+  if (!VersionUsesHttp3(transport_version())) {
     return;
   }
 
diff --git a/quic/core/quic_flags_list.h b/quic/core/quic_flags_list.h
index 64b375f..530a077 100644
--- a/quic/core/quic_flags_list.h
+++ b/quic/core/quic_flags_list.h
@@ -53,7 +53,6 @@
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_new_priority_update_frame, true)
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_pass_path_response_to_validator, false)
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_process_undecryptable_packets_after_async_decrypt_callback, true)
-QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_reject_spdy_settings, true)
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_require_handshake_confirmation, false)
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_round_up_tiny_bandwidth, true)
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_send_goaway_with_connection_close, true)
