diff --git a/quic/core/http/quic_spdy_client_session_base.cc b/quic/core/http/quic_spdy_client_session_base.cc
index 56a9764..b761a19 100644
--- a/quic/core/http/quic_spdy_client_session_base.cc
+++ b/quic/core/http/quic_spdy_client_session_base.cc
@@ -87,8 +87,9 @@
     return;
   }
 
-  if (VersionUsesHttp3(transport_version()) &&
-      !CanCreatePushStreamWithId(promised_stream_id)) {
+  if (VersionUsesHttp3(transport_version())) {
+    // Received push stream id is higher than MAX_PUSH_ID
+    // because no MAX_PUSH_ID frame is ever sent.
     connection()->CloseConnection(
         QUIC_INVALID_STREAM_ID,
         "Received push stream id higher than MAX_PUSH_ID.",
diff --git a/quic/core/http/quic_spdy_session.cc b/quic/core/http/quic_spdy_session.cc
index 7b63328..6a57107 100644
--- a/quic/core/http/quic_spdy_session.cc
+++ b/quic/core/http/quic_spdy_session.cc
@@ -1592,13 +1592,6 @@
              : transport_goaway_sent();
 }
 
-bool QuicSpdySession::CanCreatePushStreamWithId(PushId /* push_id */) {
-  // TODO(b/171463363): Remove this method.
-  QUICHE_DCHECK(VersionUsesHttp3(transport_version()));
-
-  return false;
-}
-
 void QuicSpdySession::CloseConnectionOnDuplicateHttp3UnidirectionalStreams(
     absl::string_view type) {
   QUIC_PEER_BUG(quic_peer_bug_10360_9) << absl::StrCat(
diff --git a/quic/core/http/quic_spdy_session.h b/quic/core/http/quic_spdy_session.h
index 50603de..9756e24 100644
--- a/quic/core/http/quic_spdy_session.h
+++ b/quic/core/http/quic_spdy_session.h
@@ -331,10 +331,6 @@
   // TODO(b/171463363): Remove.
   bool OnMaxPushIdFrame(PushId max_push_id);
 
-  // TODO(b/171463363): Remove.
-  // Returns false.
-  bool CanCreatePushStreamWithId(PushId push_id);
-
   int32_t destruction_indicator() const { return destruction_indicator_; }
 
   void set_debug_visitor(Http3DebugVisitor* debug_visitor) {
