diff --git a/quic/core/quic_session.cc b/quic/core/quic_session.cc
index 4737902..b17883c 100644
--- a/quic/core/quic_session.cc
+++ b/quic/core/quic_session.cc
@@ -2002,7 +2002,7 @@
   return stream_id_manager_.IsIncomingStream(id);
 }
 
-void QuicSession::OnStreamDoneWaitingForAcks(QuicStreamId id) {
+void QuicSession::MaybeCloseZombieStream(QuicStreamId id) {
   auto it = stream_map_.find(id);
   if (it == stream_map_.end()) {
     return;
diff --git a/quic/core/quic_session.h b/quic/core/quic_session.h
index 4233aa4..cb2c44c 100644
--- a/quic/core/quic_session.h
+++ b/quic/core/quic_session.h
@@ -340,11 +340,8 @@
   // WINDOW_UPDATE arrives.
   virtual void MarkConnectionLevelWriteBlocked(QuicStreamId id);
 
-  // Called when stream |id| is done waiting for acks either because all data
-  // gets acked or is not interested in data being acked (which happens when
-  // a stream is reset because of an error).
-  // TODO(b/136274541): rename to CloseZombieStreams.
-  void OnStreamDoneWaitingForAcks(QuicStreamId id);
+  // Called to close zombie stream |id|.
+  void MaybeCloseZombieStream(QuicStreamId id);
 
   // Returns true if there is pending handshake data in the crypto stream.
   // TODO(ianswett): Make this private or remove.
diff --git a/quic/core/quic_session_test.cc b/quic/core/quic_session_test.cc
index e5b6cff..e39f505 100644
--- a/quic/core/quic_session_test.cc
+++ b/quic/core/quic_session_test.cc
@@ -2262,7 +2262,7 @@
   CloseStream(stream2->id());
   ASSERT_EQ(1u, session_.closed_streams()->size());
   EXPECT_EQ(stream2->id(), session_.closed_streams()->front()->id());
-  session_.OnStreamDoneWaitingForAcks(stream2->id());
+  session_.MaybeCloseZombieStream(stream2->id());
   EXPECT_EQ(1u, session_.closed_streams()->size());
   EXPECT_EQ(stream2->id(), session_.closed_streams()->front()->id());
 }
diff --git a/quic/core/quic_stream.cc b/quic/core/quic_stream.cc
index d973549..1ad8d37 100644
--- a/quic/core/quic_stream.cc
+++ b/quic/core/quic_stream.cc
@@ -598,7 +598,7 @@
                            /*send_rst_only = */ false);
   rst_sent_ = true;
   if (read_side_closed_ && write_side_closed_ && !IsWaitingForAcks()) {
-    session()->OnStreamDoneWaitingForAcks(id_);
+    session()->MaybeCloseZombieStream(id_);
     return;
   }
   CloseReadSide();
@@ -841,7 +841,7 @@
     QUIC_DLOG(INFO) << ENDPOINT << "Sending RST_STREAM in OnClose: " << id();
     session_->SendRstStream(id(), QUIC_RST_ACKNOWLEDGEMENT,
                             stream_bytes_written(), /*send_rst_only = */ false);
-    session_->OnStreamDoneWaitingForAcks(id_);
+    session_->MaybeCloseZombieStream(id_);
     rst_sent_ = true;
   }
 
@@ -1019,7 +1019,7 @@
     fin_lost_ = false;
   }
   if (!IsWaitingForAcks() && read_side_closed_ && write_side_closed_) {
-    session_->OnStreamDoneWaitingForAcks(id_);
+    session_->MaybeCloseZombieStream(id_);
   }
   return new_data_acked;
 }
