diff --git a/vp9/encoder/vp9_ratectrl.c b/vp9/encoder/vp9_ratectrl.c
index f2afc4645940a5c776e5ae5c888e347bad97068d..806ab93796d92602f55f70b084993666b3eb6eb6 100644
--- a/vp9/encoder/vp9_ratectrl.c
+++ b/vp9/encoder/vp9_ratectrl.c
@@ -308,6 +308,10 @@ void vp9_rc_update_rate_correction_factors(VP9_COMP *cpi, int damp_var) {
 
   int projected_size_based_on_q = 0;
 
+  // Do not update the rate factors for arf overlay frames.
+  if (cpi->rc.is_src_frame_alt_ref)
+    return;
+
   // Clear down mmx registers to allow floating point in what follows
   vp9_clear_system_state();