diff --git a/quic/core/quic_dispatcher.cc b/quic/core/quic_dispatcher.cc
index 4221d4f..973254e 100644
--- a/quic/core/quic_dispatcher.cc
+++ b/quic/core/quic_dispatcher.cc
@@ -367,7 +367,7 @@
     clear_stateless_reset_addresses_alarm_->PermanentCancel();
   }
   reference_counted_session_map_.clear();
-  closed_ref_counted_session_list_.clear();
+  closed_session_list_.clear();
   num_sessions_in_session_map_ = 0;
 }
 
@@ -968,7 +968,7 @@
 
 void QuicDispatcher::DeleteSessions() {
   if (!write_blocked_list_.empty()) {
-    for (const auto& session : closed_ref_counted_session_list_) {
+    for (const auto& session : closed_session_list_) {
       if (write_blocked_list_.erase(session->connection()) != 0) {
         QUIC_BUG(quic_bug_12724_2)
             << "QuicConnection was in WriteBlockedList before destruction "
@@ -976,7 +976,7 @@
       }
     }
   }
-  closed_ref_counted_session_list_.clear();
+  closed_session_list_.clear();
 }
 
 void QuicDispatcher::ClearStatelessResetAddresses() {
@@ -1051,11 +1051,11 @@
   if (ShouldDestroySessionAsynchronously()) {
     // Set up alarm to fire immediately to bring destruction of this session
     // out of current call stack.
-    if (closed_ref_counted_session_list_.empty()) {
+    if (closed_session_list_.empty()) {
       delete_sessions_alarm_->Update(helper()->GetClock()->ApproximateNow(),
                                      QuicTime::Delta::Zero());
     }
-    closed_ref_counted_session_list_.push_back(std::move(it->second));
+    closed_session_list_.push_back(std::move(it->second));
   }
   CleanUpSession(it->first, connection, error, error_details, source);
   for (const QuicConnectionId& cid :
diff --git a/quic/core/quic_dispatcher.h b/quic/core/quic_dispatcher.h
index eab326a..3863ce9 100644
--- a/quic/core/quic_dispatcher.h
+++ b/quic/core/quic_dispatcher.h
@@ -414,8 +414,7 @@
   std::unique_ptr<QuicTimeWaitListManager> time_wait_list_manager_;
 
   // The list of closed but not-yet-deleted sessions.
-  std::vector<std::unique_ptr<QuicSession>> closed_session_list_;
-  std::vector<std::shared_ptr<QuicSession>> closed_ref_counted_session_list_;
+  std::vector<std::shared_ptr<QuicSession>> closed_session_list_;
 
   // The helper used for all connections.
   std::unique_ptr<QuicConnectionHelperInterface> helper_;
