diff --git a/modules/audio_processing/aec3/skew_estimator.cc b/modules/audio_processing/aec3/skew_estimator.cc
index 608a707..5a453a0 100644
--- a/modules/audio_processing/aec3/skew_estimator.cc
+++ b/modules/audio_processing/aec3/skew_estimator.cc
@@ -38,9 +38,9 @@
     sufficient_skew_stored_ = true;
   }
 
-  return sufficient_skew_stored_
-             ? rtc::Optional<int>(skew_sum_ >> skew_history_size_log2_)
-             : rtc::nullopt;
+  const int bias = static_cast<int>(skew_history_.size()) >> 1;
+  const int average = (skew_sum_ + bias) >> skew_history_size_log2_;
+  return sufficient_skew_stored_ ? rtc::Optional<int>(average) : rtc::nullopt;
 }
 
 }  // namespace webrtc
diff --git a/modules/audio_processing/aec3/skew_estimator_unittest.cc b/modules/audio_processing/aec3/skew_estimator_unittest.cc
index a1a679f..168470a 100644
--- a/modules/audio_processing/aec3/skew_estimator_unittest.cc
+++ b/modules/audio_processing/aec3/skew_estimator_unittest.cc
@@ -120,5 +120,38 @@
     EXPECT_FALSE(skew);
   }
 }
+
+// Tests that the skew estimator properly rounds the average skew.
+TEST(SkewEstimator, SkewRounding) {
+  constexpr int kNumSkewsLog2 = 4;
+  constexpr int kNumSkews = 1 << kNumSkewsLog2;
+
+  SkewEstimator estimator(kNumSkewsLog2);
+
+  rtc::Optional<int> skew;
+  for (int k = 0; k < kNumSkews; ++k) {
+    if (k == kNumSkews - 1) {
+      // Reverse call order once.
+      skew = estimator.GetSkewFromCapture();
+      estimator.LogRenderCall();
+    } else {
+      // Normal call order.
+      estimator.LogRenderCall();
+      skew = estimator.GetSkewFromCapture();
+    }
+  }
+  EXPECT_EQ(*skew, 0);
+
+  estimator.Reset();
+  for (int k = 0; k < kNumSkews; ++k) {
+    estimator.LogRenderCall();
+    estimator.LogRenderCall();
+    estimator.LogRenderCall();
+    estimator.GetSkewFromCapture();
+    estimator.GetSkewFromCapture();
+    skew = estimator.GetSkewFromCapture();
+  }
+  EXPECT_EQ(*skew, 1);
+}
 }  // namespace aec3
 }  // namespace webrtc
