diff --git a/quic/core/quic_sent_packet_manager.cc b/quic/core/quic_sent_packet_manager.cc
index 9246499..302daf4 100644
--- a/quic/core/quic_sent_packet_manager.cc
+++ b/quic/core/quic_sent_packet_manager.cc
@@ -1121,6 +1121,18 @@
 
 void QuicSentPacketManager::SetSendAlgorithm(
     CongestionControlType congestion_control_type) {
+  if (GetQuicReloadableFlag(
+          quic_set_send_algorithm_noop_if_cc_type_unchanged)) {
+    if (send_algorithm_ && send_algorithm_->GetCongestionControlType() ==
+                               congestion_control_type) {
+      QUIC_RELOADABLE_FLAG_COUNT_N(
+          quic_set_send_algorithm_noop_if_cc_type_unchanged, 1, 2);
+      return;
+    }
+    QUIC_RELOADABLE_FLAG_COUNT_N(
+        quic_set_send_algorithm_noop_if_cc_type_unchanged, 2, 2);
+    // Fallthrough to change the send algorithm.
+  }
   SetSendAlgorithm(SendAlgorithmInterface::Create(
       clock_, &rtt_stats_, &unacked_packets_, congestion_control_type, random_,
       stats_, initial_congestion_window_));
diff --git a/quic/core/quic_sent_packet_manager_test.cc b/quic/core/quic_sent_packet_manager_test.cc
index 247c03f..c677afa 100644
--- a/quic/core/quic_sent_packet_manager_test.cc
+++ b/quic/core/quic_sent_packet_manager_test.cc
@@ -85,12 +85,13 @@
   }
 
  protected:
+  const CongestionControlType kInitialCongestionControlType = kCubicBytes;
   QuicSentPacketManagerTest()
       : manager_(Perspective::IS_SERVER,
                  &clock_,
                  QuicRandom::GetInstance(),
                  &stats_,
-                 kCubicBytes,
+                 kInitialCongestionControlType,
                  GetDefaultLossDetectionType()),
         send_algorithm_(new StrictMock<MockSendAlgorithm>),
         network_change_visitor_(new StrictMock<MockNetworkChangeVisitor>) {
@@ -102,6 +103,8 @@
     manager_.SetNetworkChangeVisitor(network_change_visitor_.get());
     manager_.SetSessionNotifier(&notifier_);
 
+    EXPECT_CALL(*send_algorithm_, GetCongestionControlType())
+        .WillRepeatedly(Return(kInitialCongestionControlType));
     EXPECT_CALL(*send_algorithm_, HasReliableBandwidthEstimate())
         .Times(AnyNumber());
     EXPECT_CALL(*send_algorithm_, BandwidthEstimate())
