diff --git a/libraries/APM_Control/AR_AttitudeControl.cpp b/libraries/APM_Control/AR_AttitudeControl.cpp
index 2ff38efc02..d3a76779cf 100644
--- a/libraries/APM_Control/AR_AttitudeControl.cpp
+++ b/libraries/APM_Control/AR_AttitudeControl.cpp
@@ -222,9 +222,9 @@ float AR_AttitudeControl::get_steering_out_rate(float desired_rate, bool skid_st
     // get p
     float p = _steer_rate_pid.get_p();
 
-    // get i unless moving at low speed or steering output has hit a limit
+    // get i unless non-skid-steering rover at low speed or steering output has hit a limit
     float i = _steer_rate_pid.get_integrator();
-    if (!low_speed && ((is_negative(rate_error) && !motor_limit_left) || (is_positive(rate_error) && !motor_limit_right))) {
+    if ((!low_speed || skid_steering) && ((is_negative(rate_error) && !motor_limit_left) || (is_positive(rate_error) && !motor_limit_right))) {
         i = _steer_rate_pid.get_i();
     }