diff --git a/modules/pacing/pacing_controller.cc b/modules/pacing/pacing_controller.cc
index e346a83..e6dd7ac 100644
--- a/modules/pacing/pacing_controller.cc
+++ b/modules/pacing/pacing_controller.cc
@@ -96,7 +96,7 @@
           !IsDisabled(*field_trials_, "WebRTC-Pacer-DrainQueue")),
       send_padding_if_silent_(
           IsEnabled(*field_trials_, "WebRTC-Pacer-PadInSilence")),
-      pace_audio_(!IsDisabled(*field_trials_, "WebRTC-Pacer-BlockAudio")),
+      pace_audio_(IsEnabled(*field_trials_, "WebRTC-Pacer-BlockAudio")),
       small_first_probe_packet_(
           IsEnabled(*field_trials_, "WebRTC-Pacer-SmallFirstProbePacket")),
       send_side_bwe_with_overhead_(
@@ -600,7 +600,7 @@
   bool is_probe = pacing_info.probe_cluster_id != PacedPacketInfo::kNotAProbe;
   if (!unpaced_audio_packet && !is_probe) {
     if (Congested()) {
-      // Don't send anyting if congested.
+      // Don't send anything if congested.
       return nullptr;
     }
 
diff --git a/modules/pacing/pacing_controller_unittest.cc b/modules/pacing/pacing_controller_unittest.cc
index e581e30..2e4e564 100644
--- a/modules/pacing/pacing_controller_unittest.cc
+++ b/modules/pacing/pacing_controller_unittest.cc
@@ -367,7 +367,8 @@
   pacer.ProcessPackets();
 }
 
-TEST_P(PacingControllerFieldTrialTest, DefaultCongestionWindowAffectsAudio) {
+TEST_P(PacingControllerFieldTrialTest, CongestionWindowAffectsAudioInTrial) {
+  ScopedFieldTrials trial("WebRTC-Pacer-BlockAudio/Enabled/");
   EXPECT_CALL(callback_, SendPadding).Times(0);
   PacingController pacer(&clock_, &callback_, nullptr, nullptr, GetParam());
   pacer.SetPacingRates(DataRate::kbps(10000), DataRate::Zero());
@@ -394,8 +395,7 @@
 }
 
 TEST_P(PacingControllerFieldTrialTest,
-       CongestionWindowDoesNotAffectAudioInTrial) {
-  ScopedFieldTrials trial("WebRTC-Pacer-BlockAudio/Disabled/");
+       DefaultCongestionWindowDoesNotAffectAudio) {
   EXPECT_CALL(callback_, SendPadding).Times(0);
   PacingController pacer(&clock_, &callback_, nullptr, nullptr, GetParam());
   pacer.SetPacingRates(DataRate::bps(10000000), DataRate::Zero());
@@ -411,7 +411,8 @@
   ProcessNext(&pacer);
 }
 
-TEST_P(PacingControllerFieldTrialTest, DefaultBudgetAffectsAudio) {
+TEST_P(PacingControllerFieldTrialTest, BudgetAffectsAudioInTrial) {
+  ScopedFieldTrials trial("WebRTC-Pacer-BlockAudio/Enabled/");
   PacingController pacer(&clock_, &callback_, nullptr, nullptr, GetParam());
   DataRate pacing_rate =
       DataRate::bps(video.packet_size / 3 * 8 * kProcessIntervalsPerSecond);
@@ -440,8 +441,7 @@
                 : PacingController::kMinSleepTime);
 }
 
-TEST_P(PacingControllerFieldTrialTest, BudgetDoesNotAffectAudioInTrial) {
-  ScopedFieldTrials trial("WebRTC-Pacer-BlockAudio/Disabled/");
+TEST_P(PacingControllerFieldTrialTest, DefaultBudgetDoesNotAffectAudio) {
   EXPECT_CALL(callback_, SendPadding).Times(0);
   PacingController pacer(&clock_, &callback_, nullptr, nullptr, GetParam());
   pacer.SetPacingRates(
