diff --git a/ArduPlane/navigation.pde b/ArduPlane/navigation.pde
index 6ba3d193b758a315d26393e3a7eb6eccf5823c03..f38bf7de420f0b603291dff18dacb91e47486f2b 100644
--- a/ArduPlane/navigation.pde
+++ b/ArduPlane/navigation.pde
@@ -37,7 +37,7 @@ static void loiter_angle_update(void)
     loiter.old_target_bearing_cd = target_bearing_cd;
     loiter_delta_cd = wrap_180_cd(loiter_delta_cd);
 
-    loiter.sum_cd += loiter_delta_cd;
+    loiter.sum_cd += loiter_delta_cd * loiter.direction;
 }
 
 //****************************************************************