diff --git a/ArduPlane/system.pde b/ArduPlane/system.pde
index cb34a528b093c6a14efaf42fdaee27e3da2a2ab7..3a856b827cc8a55f8fd87ed3a2a8258c6398dab8 100644
--- a/ArduPlane/system.pde
+++ b/ArduPlane/system.pde
@@ -340,6 +340,14 @@ static void startup_ground(void)
 	// -----------------------
 	demo_servos(3);
 
+    // we don't want writes to the serial port to cause us to pause
+    // mid-flight, so set the serial ports non-blocking once we are
+    // ready to fly
+    Serial.set_blocking_writes(false);
+    if (gcs3.initialised) {
+        Serial3.set_blocking_writes(false);
+    }
+
 	gcs_send_text_P(SEVERITY_LOW,PSTR("\n\n Ready to FLY."));
 }