diff --git a/quic/core/quic_session_test.cc b/quic/core/quic_session_test.cc
index 20b591a..bf1724c 100644
--- a/quic/core/quic_session_test.cc
+++ b/quic/core/quic_session_test.cc
@@ -2752,17 +2752,11 @@
   session_.OnStreamFrame(frame);
 
   QuicStreamFrame frame1(stream->id(), false, 1, ",");
-  if (GetQuicReloadableFlag(quic_rst_if_stream_frame_beyond_close_offset)) {
-    EXPECT_CALL(*connection_, SendControlFrame(_));
-    EXPECT_CALL(*connection_,
-                OnStreamReset(stream->id(), QUIC_DATA_AFTER_CLOSE_OFFSET));
-    session_.OnStreamFrame(frame1);
-    EXPECT_TRUE(connection_->connected());
-  } else {
-#if GTEST_HAS_DEATH_TEST && !defined(NDEBUG)
-    EXPECT_DEBUG_DEATH(session_.OnStreamFrame(frame1), "Check failed");
-#endif  // GTEST_HAS_DEATH_TEST && !defined(NDEBUG)
-  }
+  EXPECT_CALL(*connection_, SendControlFrame(_));
+  EXPECT_CALL(*connection_,
+              OnStreamReset(stream->id(), QUIC_DATA_AFTER_CLOSE_OFFSET));
+  session_.OnStreamFrame(frame1);
+  EXPECT_TRUE(connection_->connected());
 }
 
 // A client test class that can be used when the automatic configuration is not
diff --git a/quic/core/quic_stream.cc b/quic/core/quic_stream.cc
index d708b13..d9437fb 100644
--- a/quic/core/quic_stream.cc
+++ b/quic/core/quic_stream.cc
@@ -171,8 +171,7 @@
     return;
   }
 
-  if (GetQuicReloadableFlag(quic_rst_if_stream_frame_beyond_close_offset) &&
-      frame.offset + frame.data_length > sequencer_.close_offset()) {
+  if (frame.offset + frame.data_length > sequencer_.close_offset()) {
     Reset(QUIC_DATA_AFTER_CLOSE_OFFSET);
     return;
   }
@@ -402,12 +401,9 @@
     return;
   }
 
-  if (GetQuicReloadableFlag(quic_rst_if_stream_frame_beyond_close_offset)) {
-    QUIC_RELOADABLE_FLAG_COUNT(quic_rst_if_stream_frame_beyond_close_offset);
-    if (frame.offset + frame.data_length > sequencer_.close_offset()) {
-      Reset(QUIC_DATA_AFTER_CLOSE_OFFSET);
-      return;
-    }
+  if (frame.offset + frame.data_length > sequencer_.close_offset()) {
+    Reset(QUIC_DATA_AFTER_CLOSE_OFFSET);
+    return;
   }
 
   if (frame.fin) {
