diff --git a/experiments/field_trials.py b/experiments/field_trials.py
index 2038962..791ba77 100755
--- a/experiments/field_trials.py
+++ b/experiments/field_trials.py
@@ -281,9 +281,6 @@
     FieldTrial('WebRTC-AddNetworkCostToVpn',
                42223280,
                date(2024, 4, 1)),
-    FieldTrial('WebRTC-AddPacingToCongestionWindowPushback',
-               42220204,
-               date(2024, 4, 1)),
     FieldTrial('WebRTC-AdjustOpusBandwidth',
                42233664,
                date(2024, 4, 1)),
@@ -932,7 +929,7 @@
 ])  # yapf: disable
 
 POLICY_EXEMPT_FIELD_TRIALS_DIGEST: str = \
-    '8470357338d133964bb56ea554cc1e824b2651f3'
+    'b41ff32cc255517f1ba5add2a601453c5fc9e7c3'
 
 REGISTERED_FIELD_TRIALS: FrozenSet[FieldTrial] = ACTIVE_FIELD_TRIALS.union(
     POLICY_EXEMPT_FIELD_TRIALS)
diff --git a/modules/congestion_controller/BUILD.gn b/modules/congestion_controller/BUILD.gn
index b3b29db..54f47da 100644
--- a/modules/congestion_controller/BUILD.gn
+++ b/modules/congestion_controller/BUILD.gn
@@ -87,6 +87,12 @@
     deps = [
       ":receive_side_congestion_controller_unittest",
       ":remb_throttler_unittest",
+      "goog_cc:goog_cc_unittests",
+      "goog_cc_scream_network_controller:goog_cc_scream_network_controller_unittests",
+      "pcc:pcc_unittests",
+      "rtp:congestion_controller_unittests",
+      "scream:scream_unittests",
+      "scream/test:cc_feedback_generator_unittests",
     ]
   }
 }
diff --git a/modules/congestion_controller/goog_cc/congestion_window_pushback_controller.cc b/modules/congestion_controller/goog_cc/congestion_window_pushback_controller.cc
index d3b791d..5870923 100644
--- a/modules/congestion_controller/goog_cc/congestion_window_pushback_controller.cc
+++ b/modules/congestion_controller/goog_cc/congestion_window_pushback_controller.cc
@@ -21,9 +21,7 @@
 
 CongestionWindowPushbackController::CongestionWindowPushbackController(
     const FieldTrialsView& key_value_config)
-    : add_pacing_(key_value_config.IsEnabled(
-          "WebRTC-AddPacingToCongestionWindowPushback")),
-      min_pushback_target_bitrate_bps_(
+    : min_pushback_target_bitrate_bps_(
           RateControlSettings(key_value_config)
               .CongestionWindowMinPushbackTargetBitrateBps()),
       current_data_window_(RateControlSettings(key_value_config)
@@ -46,9 +44,7 @@
     uint32_t bitrate_bps) {
   if (!current_data_window_ || current_data_window_->IsZero())
     return bitrate_bps;
-  int64_t total_bytes = outstanding_bytes_;
-  if (add_pacing_)
-    total_bytes += pacing_bytes_;
+  int64_t total_bytes = outstanding_bytes_ + pacing_bytes_;
   double fill_ratio =
       total_bytes / static_cast<double>(current_data_window_->bytes());
   if (fill_ratio > 1.5) {
diff --git a/modules/congestion_controller/goog_cc/congestion_window_pushback_controller.h b/modules/congestion_controller/goog_cc/congestion_window_pushback_controller.h
index 208331f..9e04ae2 100644
--- a/modules/congestion_controller/goog_cc/congestion_window_pushback_controller.h
+++ b/modules/congestion_controller/goog_cc/congestion_window_pushback_controller.h
@@ -35,7 +35,6 @@
   void SetDataWindow(DataSize data_window);
 
  private:
-  const bool add_pacing_;
   const uint32_t min_pushback_target_bitrate_bps_;
   std::optional<DataSize> current_data_window_;
   int64_t outstanding_bytes_ = 0;
diff --git a/modules/congestion_controller/goog_cc/goog_cc_network_control_unittest.cc b/modules/congestion_controller/goog_cc/goog_cc_network_control_unittest.cc
index aa6f2fc..b43a769 100644
--- a/modules/congestion_controller/goog_cc/goog_cc_network_control_unittest.cc
+++ b/modules/congestion_controller/goog_cc/goog_cc_network_control_unittest.cc
@@ -851,7 +851,7 @@
   EXPECT_GT(client->send_bandwidth().kbps(), kNewLinkCapacity.kbps() - 300);
 }
 
-TEST(GoogCcScenario, TargetRateReducedOnPacingBufferBuildupInTrial) {
+TEST(GoogCcScenario, TargetRateReducedOnPacingBufferBuildup) {
   const DataRate kLinkCapacity = DataRate::KilobitsPerSec(1000);
   const DataRate kStartRate = DataRate::KilobitsPerSec(1000);
 
@@ -864,8 +864,6 @@
     c->field_trials.Set("WebRTC-CongestionWindow",
                         "QueueSize:100,MinBitrate:30000");
     c->field_trials.Set("WebRTC-Video-Pacing", "factor:1.0");
-    c->field_trials.Set("WebRTC-AddPacingToCongestionWindowPushback",
-                        "Enabled");
     c->transport.rates.start_rate = kStartRate;
   });
   auto* route = s.CreateRoutes(
