diff --git a/ArduCopter/ArduCopter.pde b/ArduCopter/ArduCopter.pde
index 4e5350a6d26a59f8d3c74c9f637efa2b5e09a2b3..16396274b9f758072327dbf56d111acf14e0f593 100644
--- a/ArduCopter/ArduCopter.pde
+++ b/ArduCopter/ArduCopter.pde
@@ -1679,8 +1679,13 @@ void update_roll_pitch_mode(void)
         // apply SIMPLE mode transform
         update_simple_mode();
 
-        // update loiter target from user controls
-        wp_nav.move_loiter_target(g.rc_1.control_in, g.rc_2.control_in, 0.01f);
+        if(failsafe.radio) {
+            // don't allow loiter target to move during failsafe
+            wp_nav.move_loiter_target(0.0f, 0.0f, 0.01f);
+        } else {
+            // update loiter target from user controls
+            wp_nav.move_loiter_target(g.rc_1.control_in, g.rc_2.control_in, 0.01f);
+        }
 
         // copy latest output from nav controller to stabilize controller
         control_roll = wp_nav.get_desired_roll();