diff --git a/quic/core/http/quic_client_promised_info_test.cc b/quic/core/http/quic_client_promised_info_test.cc
index e1b00c8..1a1ec69 100644
--- a/quic/core/http/quic_client_promised_info_test.cc
+++ b/quic/core/http/quic_client_promised_info_test.cc
@@ -52,8 +52,6 @@
 
   void set_authorized(bool authorized) { authorized_ = authorized; }
 
-  MOCK_METHOD(void, CloseStream, (QuicStreamId stream_id), (override));
-
  private:
   QuicCryptoClientConfig crypto_config_;
 
diff --git a/quic/core/http/quic_client_push_promise_index_test.cc b/quic/core/http/quic_client_push_promise_index_test.cc
index 0fc903a..3e825a0 100644
--- a/quic/core/http/quic_client_push_promise_index_test.cc
+++ b/quic/core/http/quic_client_push_promise_index_test.cc
@@ -40,8 +40,6 @@
       delete;
   ~MockQuicSpdyClientSession() override {}
 
-  MOCK_METHOD(void, CloseStream, (QuicStreamId stream_id), (override));
-
  private:
   QuicCryptoClientConfig crypto_config_;
 };
diff --git a/quic/core/http/quic_spdy_client_session_base.cc b/quic/core/http/quic_spdy_client_session_base.cc
index 46305a6..db6f9ea 100644
--- a/quic/core/http/quic_spdy_client_session_base.cc
+++ b/quic/core/http/quic_spdy_client_session_base.cc
@@ -213,13 +213,6 @@
   }
 }
 
-void QuicSpdyClientSessionBase::CloseStream(QuicStreamId stream_id) {
-  QuicSpdySession::CloseStream(stream_id);
-  if (!VersionUsesHttp3(transport_version())) {
-    headers_stream()->MaybeReleaseSequencerBuffer();
-  }
-}
-
 void QuicSpdyClientSessionBase::OnStreamClosed(QuicStreamId stream_id) {
   QuicSpdySession::OnStreamClosed(stream_id);
   if (!VersionUsesHttp3(transport_version())) {
diff --git a/quic/core/http/quic_spdy_client_session_base.h b/quic/core/http/quic_spdy_client_session_base.h
index 3192479..e09f7cf 100644
--- a/quic/core/http/quic_spdy_client_session_base.h
+++ b/quic/core/http/quic_spdy_client_session_base.h
@@ -102,9 +102,6 @@
   void ResetPromised(QuicStreamId id, QuicRstStreamErrorCode error_code);
 
   // Release headers stream's sequencer buffer if it's empty.
-  void CloseStream(QuicStreamId stream_id) override;
-
-  // Release headers stream's sequencer buffer if it's empty.
   void OnStreamClosed(QuicStreamId stream_id) override;
 
   // Returns true if there are no active requests and no promised streams.
diff --git a/quic/core/http/quic_spdy_client_stream_test.cc b/quic/core/http/quic_spdy_client_stream_test.cc
index ffd4590..c8653ed 100644
--- a/quic/core/http/quic_spdy_client_stream_test.cc
+++ b/quic/core/http/quic_spdy_client_stream_test.cc
@@ -46,8 +46,6 @@
       delete;
   ~MockQuicSpdyClientSession() override = default;
 
-  MOCK_METHOD(void, CloseStream, (QuicStreamId stream_id), (override));
-
   using QuicSession::ActivateStream;
 
  private:
diff --git a/quic/core/quic_session.cc b/quic/core/quic_session.cc
index dfa0c2c..c656459 100644
--- a/quic/core/quic_session.cc
+++ b/quic/core/quic_session.cc
@@ -865,31 +865,6 @@
   control_frame_manager_.WriteOrBufferMaxStreams(stream_count, unidirectional);
 }
 
-void QuicSession::CloseStream(QuicStreamId stream_id) {
-  QUIC_DVLOG(1) << ENDPOINT << "Closing stream " << stream_id;
-
-  StreamMap::iterator it = stream_map_.find(stream_id);
-  if (it == stream_map_.end()) {
-    // When CloseStream has been called recursively (via
-    // QuicStream::OnClose), the stream will already have been deleted
-    // from stream_map_, so return immediately.
-    QUIC_DVLOG(1) << ENDPOINT << "Stream is already closed: " << stream_id;
-    return;
-  }
-  QuicStream* stream = it->second.get();
-  if (stream->is_static()) {
-    QUIC_DVLOG(1) << ENDPOINT
-                  << "Try to close a static stream, id: " << stream_id
-                  << " Closing connection";
-    connection()->CloseConnection(
-        QUIC_INVALID_STREAM_ID, "Try to close a static stream",
-        ConnectionCloseBehavior::SEND_CONNECTION_CLOSE_PACKET);
-    return;
-  }
-  stream->CloseReadSide();
-  stream->CloseWriteSide();
-}
-
 void QuicSession::InsertLocallyClosedStreamsHighestOffset(
     const QuicStreamId id,
     QuicStreamOffset offset) {
diff --git a/quic/core/quic_session.h b/quic/core/quic_session.h
index e81375d..4e59dc0 100644
--- a/quic/core/quic_session.h
+++ b/quic/core/quic_session.h
@@ -233,12 +233,6 @@
   // Create and transmit a STOP_SENDING frame
   virtual void SendStopSending(uint16_t code, QuicStreamId stream_id);
 
-  // Close stream |stream_id|. Whether sending RST_STREAM (and STOP_SENDING)
-  // depends on the sending and receiving states.
-  // TODO(b/136274541): Deprecate CloseStream, instead always use ResetStream to
-  // close a stream from session.
-  virtual void CloseStream(QuicStreamId stream_id);
-
   // Called by stream |stream_id| when it gets closed.
   virtual void OnStreamClosed(QuicStreamId stream_id);
 
diff --git a/quic/core/quic_session_test.cc b/quic/core/quic_session_test.cc
index 67cb2be..6c2b867 100644
--- a/quic/core/quic_session_test.cc
+++ b/quic/core/quic_session_test.cc
@@ -168,7 +168,6 @@
   TestStream(PendingStream* pending, StreamType type)
       : QuicStream(pending, type, /*is_static=*/false) {}
 
-  using QuicStream::CloseReadSide;
   using QuicStream::CloseWriteSide;
   using QuicStream::WriteMemSlices;
 
@@ -2560,7 +2559,7 @@
   session_.set_writev_consumes_all_data(true);
   TestStream* stream2 = session_.CreateOutgoingBidirectionalStream();
   std::string body(100, '.');
-  stream2->CloseReadSide();
+  QuicStreamPeer::CloseReadSide(stream2);
   stream2->WriteOrBufferData(body, true, nullptr);
   EXPECT_TRUE(stream2->IsWaitingForAcks());
   // Verify stream2 is a zombie streams.
diff --git a/quic/core/quic_stream.h b/quic/core/quic_stream.h
index 3590190..68d3f89 100644
--- a/quic/core/quic_stream.h
+++ b/quic/core/quic_stream.h
@@ -349,19 +349,6 @@
   // gracefully.
   virtual bool OnStopSending(uint16_t code);
 
-  // Close the write side of the socket.  Further writes will fail.
-  // Can be called by the subclass or internally.
-  // Does not send a FIN.  May cause the stream to be closed.
-  virtual void CloseWriteSide();
-
-  // Close the read side of the stream.  May cause the stream to be closed.
-  // Subclasses and consumers should use StopReading to terminate reading early
-  // if expecting a FIN. Can be used directly by subclasses if not expecting a
-  // FIN.
-  // TODO(fayang): move this to protected when removing
-  // QuicSession::CloseStream.
-  void CloseReadSide();
-
   // Returns true if the stream is static.
   bool is_static() const { return is_static_; }
 
@@ -414,6 +401,11 @@
   // empty.
   void SetFinSent();
 
+  // Close the write side of the socket.  Further writes will fail.
+  // Can be called by the subclass or internally.
+  // Does not send a FIN.  May cause the stream to be closed.
+  virtual void CloseWriteSide();
+
   void set_rst_received(bool rst_received) { rst_received_ = rst_received; }
   void set_stream_error(QuicRstStreamErrorCode error) { stream_error_ = error; }
 
@@ -461,6 +453,9 @@
   // WriteOrBufferData, Writev and WriteBufferedData.
   void WriteBufferedData();
 
+  // Close the read side of the stream.  May cause the stream to be closed.
+  void CloseReadSide();
+
   // Called when bytes are sent to the peer.
   void AddBytesSent(QuicByteCount bytes);
 
diff --git a/quic/core/quic_stream_test.cc b/quic/core/quic_stream_test.cc
index 206fb71..36979dc 100644
--- a/quic/core/quic_stream_test.cc
+++ b/quic/core/quic_stream_test.cc
@@ -455,7 +455,7 @@
 
   // Now close the stream, and expect that we send a RST.
   EXPECT_CALL(*session_, SendRstStream(_, _, _, _));
-  stream_->CloseReadSide();
+  QuicStreamPeer::CloseReadSide(stream_);
   stream_->CloseWriteSide();
   EXPECT_FALSE(session_->HasUnackedStreamData());
   EXPECT_FALSE(fin_sent());
@@ -483,7 +483,7 @@
   EXPECT_FALSE(rst_sent());
 
   // Now close the stream, and expect that we do not send a RST.
-  stream_->CloseReadSide();
+  QuicStreamPeer::CloseReadSide(stream_);
   stream_->CloseWriteSide();
   EXPECT_TRUE(fin_sent());
   EXPECT_FALSE(rst_sent());
@@ -508,7 +508,7 @@
 
   // Now close the stream (any further resets being sent would break the
   // expectation above).
-  stream_->CloseReadSide();
+  QuicStreamPeer::CloseReadSide(stream_);
   stream_->CloseWriteSide();
   EXPECT_FALSE(fin_sent());
   EXPECT_TRUE(rst_sent());
@@ -642,7 +642,7 @@
               CloseConnection(QUIC_FLOW_CONTROL_RECEIVED_TOO_MUCH_DATA, _, _));
   stream_->OnStreamReset(rst_frame);
   EXPECT_TRUE(stream_->HasReceivedFinalOffset());
-  stream_->CloseReadSide();
+  QuicStreamPeer::CloseReadSide(stream_);
   stream_->CloseWriteSide();
 }
 
