diff --git a/quic/core/http/quic_server_session_base.cc b/quic/core/http/quic_server_session_base.cc
index 5805fc9..ac7d0a2 100644
--- a/quic/core/http/quic_server_session_base.cc
+++ b/quic/core/http/quic_server_session_base.cc
@@ -222,16 +222,6 @@
     return false;
   }
 
-  if (!GetQuicReloadableFlag(quic_use_common_stream_check) &&
-      !VersionHasIetfQuicFrames(transport_version())) {
-    if (GetNumOpenOutgoingStreams() >=
-        stream_id_manager().max_open_outgoing_streams()) {
-      QUIC_VLOG(1) << "No more streams should be created. "
-                   << "Already " << GetNumOpenOutgoingStreams() << " open.";
-      return false;
-    }
-  }
-  QUIC_RELOADABLE_FLAG_COUNT_N(quic_use_common_stream_check, 2, 2);
   return CanOpenNextOutgoingBidirectionalStream();
 }
 
@@ -255,7 +245,7 @@
       return false;
     }
   }
-
+  QUIC_RELOADABLE_FLAG_COUNT(quic_use_common_stream_check);
   return CanOpenNextOutgoingUnidirectionalStream();
 }
 
diff --git a/quic/core/http/quic_spdy_client_session.cc b/quic/core/http/quic_spdy_client_session.cc
index da3336d..f82670f 100644
--- a/quic/core/http/quic_spdy_client_session.cc
+++ b/quic/core/http/quic_spdy_client_session.cc
@@ -56,27 +56,11 @@
   bool goaway_received = VersionUsesHttp3(transport_version())
                              ? http3_goaway_received()
                              : QuicSession::goaway_received();
-  if (!GetQuicReloadableFlag(quic_use_common_stream_check) &&
-      !VersionHasIetfQuicFrames(transport_version())) {
-    if (GetNumOpenOutgoingStreams() >=
-        stream_id_manager().max_open_outgoing_streams()) {
-      QUIC_DLOG(INFO) << "Failed to create a new outgoing stream. "
-                      << "Already " << GetNumOpenOutgoingStreams() << " open.";
-      return false;
-    }
-    if (goaway_received && respect_goaway_) {
-      QUIC_DLOG(INFO) << "Failed to create a new outgoing stream. "
-                      << "Already received goaway.";
-      return false;
-    }
-    return true;
-  }
   if (goaway_received && respect_goaway_) {
     QUIC_DLOG(INFO) << "Failed to create a new outgoing stream. "
                     << "Already received goaway.";
     return false;
   }
-  QUIC_RELOADABLE_FLAG_COUNT_N(quic_use_common_stream_check, 1, 2);
   return CanOpenNextOutgoingBidirectionalStream();
 }
 
