diff --git a/libraries/AP_InertialSensor/AP_InertialSensor_MPU6000.cpp b/libraries/AP_InertialSensor/AP_InertialSensor_MPU6000.cpp
index fd272c72b0be9ec4fda1f936e14532d47a1a5708..e0594807852d192d17da61e75dc69d0bb17194fa 100644
--- a/libraries/AP_InertialSensor/AP_InertialSensor_MPU6000.cpp
+++ b/libraries/AP_InertialSensor/AP_InertialSensor_MPU6000.cpp
@@ -111,7 +111,9 @@ void AP_InertialSensor_MPU6000::init( AP_PeriodicProcess * scheduler )
 {
     if (_initialised) return;
     _initialised = 1;
+    scheduler->suspend_timer();
     hardware_init();
+    scheduler->resume_timer();
     scheduler->register_process( &AP_InertialSensor_MPU6000::read );
 }