diff --git a/quic/core/http/quic_spdy_session_test.cc b/quic/core/http/quic_spdy_session_test.cc
index 9f3bcbe..0520c70 100644
--- a/quic/core/http/quic_spdy_session_test.cc
+++ b/quic/core/http/quic_spdy_session_test.cc
@@ -1724,8 +1724,6 @@
     return;
   }
 
-  SetQuicReloadableFlag(quic_avoid_empty_frame_after_empty_headers, true);
-
   TestStream* stream = session_.CreateOutgoingBidirectionalStream();
 
   // Write headers with FIN set to close write side of stream.
diff --git a/quic/core/http/quic_spdy_stream.cc b/quic/core/http/quic_spdy_stream.cc
index dd7d424..28bcdcf 100644
--- a/quic/core/http/quic_spdy_stream.cc
+++ b/quic/core/http/quic_spdy_stream.cc
@@ -580,14 +580,9 @@
     return;
   }
 
-  if (fin) {
-    if (rst_sent() &&
-        GetQuicReloadableFlag(quic_avoid_empty_frame_after_empty_headers)) {
-      QUIC_RELOADABLE_FLAG_COUNT(quic_avoid_empty_frame_after_empty_headers);
-    } else {
-      OnStreamFrame(
-          QuicStreamFrame(id(), fin, /* offset = */ 0, QuicStringPiece()));
-    }
+  if (fin && !rst_sent()) {
+    OnStreamFrame(
+        QuicStreamFrame(id(), fin, /* offset = */ 0, QuicStringPiece()));
   }
   if (FinishedReadingHeaders()) {
     sequencer()->SetUnblocked();
