diff --git a/webrtc/modules/pacing/paced_sender.cc b/webrtc/modules/pacing/paced_sender.cc
index 4ffe86a..a242cc9 100644
--- a/webrtc/modules/pacing/paced_sender.cc
+++ b/webrtc/modules/pacing/paced_sender.cc
@@ -175,7 +175,6 @@
   CriticalSectionScoped cs(critsect_.get());
 
   if (!enabled_) {
-    UpdateMediaBytesSent(bytes);
     return true;  // We can send now.
   }
   if (capture_time_ms < 0) {
@@ -244,6 +243,9 @@
   CriticalSectionScoped cs(critsect_.get());
   int elapsed_time_ms = (now - time_last_update_).Milliseconds();
   time_last_update_ = now;
+  if (!enabled_) {
+    return 0;
+  }
   if (!paused_) {
     if (elapsed_time_ms > 0) {
       uint32_t delta_time_ms = std::min(kMaxIntervalTimeMs, elapsed_time_ms);
@@ -261,7 +263,7 @@
       const bool success = callback_->TimeToSendPacket(ssrc, sequence_number,
                                                        capture_time_ms);
       critsect_->Enter();
-      // If packet cannt be sent then keep it in packet list and exit early.
+      // If packet cannot be sent then keep it in packet list and exit early.
       // There's no need to send more packets.
       if (!success) {
         return 0;
diff --git a/webrtc/modules/pacing/paced_sender_unittest.cc b/webrtc/modules/pacing/paced_sender_unittest.cc
index 3a574d9..3e61273 100644
--- a/webrtc/modules/pacing/paced_sender_unittest.cc
+++ b/webrtc/modules/pacing/paced_sender_unittest.cc
@@ -235,6 +235,22 @@
   EXPECT_EQ(0, send_bucket_->Process());
 }
 
+TEST_F(PacedSenderTest, NoPaddingWhenDisabled) {
+  send_bucket_->SetStatus(false);
+  send_bucket_->UpdateBitrate(kTargetBitrate, kTargetBitrate);
+  // No padding is expected since the pacer is disabled.
+  EXPECT_CALL(callback_, TimeToSendPadding(_)).Times(0);
+  EXPECT_EQ(5, send_bucket_->TimeUntilNextProcess());
+  TickTime::AdvanceFakeClock(5);
+  EXPECT_EQ(0, send_bucket_->TimeUntilNextProcess());
+  EXPECT_EQ(0, send_bucket_->Process());
+  EXPECT_CALL(callback_, TimeToSendPadding(_)).Times(0);
+  EXPECT_EQ(5, send_bucket_->TimeUntilNextProcess());
+  TickTime::AdvanceFakeClock(5);
+  EXPECT_EQ(0, send_bucket_->TimeUntilNextProcess());
+  EXPECT_EQ(0, send_bucket_->Process());
+}
+
 TEST_F(PacedSenderTest, VerifyPaddingUpToBitrate) {
   uint32_t ssrc = 12345;
   uint16_t sequence_number = 1234;
