diff --git a/ArduCopter/navigation.pde b/ArduCopter/navigation.pde
index 77484872e0c1746bab558f3b2dc43f06b998afbe..a483b6619934ef190427cc63d145f87c082fd18c 100644
--- a/ArduCopter/navigation.pde
+++ b/ArduCopter/navigation.pde
@@ -6,6 +6,11 @@ static void update_navigation()
 {
     static uint32_t nav_last_update = 0;        // the system time of the last time nav was run update
 
+    // exit immediately if not auto_armed
+    if (!ap.auto_armed) {
+        return;
+    }
+
     // check for inertial nav updates
     if( inertial_nav.position_ok() ) {