diff --git a/quic/core/quic_alarm.cc b/quic/core/quic_alarm.cc
index 7419159..33b96ed 100644
--- a/quic/core/quic_alarm.cc
+++ b/quic/core/quic_alarm.cc
@@ -86,11 +86,8 @@
 
   deadline_ = QuicTime::Zero();
   if (!IsPermanentlyCancelled()) {
-    absl::optional<QuicConnectionContextSwitcher> context_switcher;
-    if (GetQuicReloadableFlag(quic_restore_connection_context_in_alarms)) {
-      QUIC_RELOADABLE_FLAG_COUNT(quic_restore_connection_context_in_alarms);
-      context_switcher.emplace(delegate_->GetConnectionContext());
-    }
+    QuicConnectionContextSwitcher context_switcher(
+        delegate_->GetConnectionContext());
     delegate_->OnAlarm();
   }
 }
diff --git a/quic/core/quic_alarm_test.cc b/quic/core/quic_alarm_test.cc
index c5f0327..b27f96e 100644
--- a/quic/core/quic_alarm_test.cc
+++ b/quic/core/quic_alarm_test.cc
@@ -209,9 +209,7 @@
   QuicTime deadline = QuicTime::Zero() + QuicTime::Delta::FromSeconds(7);
   alarm_.Set(deadline);
 
-  if (GetQuicReloadableFlag(quic_restore_connection_context_in_alarms)) {
-    EXPECT_CALL(*delegate_, GetConnectionContext()).WillOnce(Return(nullptr));
-  }
+  EXPECT_CALL(*delegate_, GetConnectionContext()).WillOnce(Return(nullptr));
 
   EXPECT_CALL(*delegate_, OnAlarm()).WillOnce(Invoke([] {
     QUIC_TRACELITERAL("Alarm fired.");
@@ -226,9 +224,7 @@
   QuicTime deadline = QuicTime::Zero() + QuicTime::Delta::FromSeconds(7);
   alarm_.Set(deadline);
 
-  if (GetQuicReloadableFlag(quic_restore_connection_context_in_alarms)) {
-    EXPECT_CALL(*delegate_, GetConnectionContext()).WillOnce(Return(&context));
-  }
+  EXPECT_CALL(*delegate_, GetConnectionContext()).WillOnce(Return(&context));
 
   EXPECT_CALL(*delegate_, OnAlarm()).WillOnce(Invoke([] {
     QUIC_TRACELITERAL("Alarm fired.");
@@ -245,9 +241,7 @@
   QuicTime deadline = QuicTime::Zero() + QuicTime::Delta::FromSeconds(7);
   alarm_.Set(deadline);
 
-  if (GetQuicReloadableFlag(quic_restore_connection_context_in_alarms)) {
-    EXPECT_CALL(*delegate_, GetConnectionContext()).WillOnce(Return(&context));
-  }
+  EXPECT_CALL(*delegate_, GetConnectionContext()).WillOnce(Return(&context));
 
   EXPECT_CALL(*delegate_, OnAlarm()).WillOnce(Invoke([] {
     QUIC_TRACELITERAL("Alarm fired.");
@@ -259,11 +253,7 @@
   alarm_.FireAlarm();
   QUIC_TRACELITERAL("Should not be collected after alarm.");
 
-  if (GetQuicReloadableFlag(quic_restore_connection_context_in_alarms)) {
-    EXPECT_THAT(tracer_ref.trace(), ElementsAre("Alarm fired."));
-  } else {
-    EXPECT_TRUE(tracer_ref.trace().empty());
-  }
+  EXPECT_THAT(tracer_ref.trace(), ElementsAre("Alarm fired."));
 }
 
 }  // namespace
diff --git a/quic/core/quic_flags_list.h b/quic/core/quic_flags_list.h
index a4884ab..0a529ae 100644
--- a/quic/core/quic_flags_list.h
+++ b/quic/core/quic_flags_list.h
@@ -25,8 +25,6 @@
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_enable_mtu_discovery_at_server, false)
 // If true, QUIC won\'t honor the connection option TLPR
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_deprecate_tlpr, false)
-// If true, QuicAlarms that belong to a single QuicConnection will fire under the corresponding QuicConnectionContext.
-QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_restore_connection_context_in_alarms, true)
 // If true, QuicGsoBatchWriter will support release time if it is available and the process has the permission to do so.
 QUIC_FLAG(FLAGS_quic_restart_flag_quic_support_release_time_for_gso, false)
 // If true, abort async QPACK header decompression in QuicSpdyStream::Reset() and in QuicSpdyStream::OnStreamReset().
