diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp
index 50c9d204a64bea3837a3fe1b4df6b44d73079697..7270e96beef34284bc17e66e7aef68eb3c0ec810 100644
--- a/Marlin/Marlin_main.cpp
+++ b/Marlin/Marlin_main.cpp
@@ -3475,14 +3475,14 @@ inline void gcode_G28() {
       #endif // !DELTA
     }
 
-    #if HAS_BED_PROBE
-      deploy_z_probe();
-    #endif
-
     stepper.synchronize();
 
     setup_for_endstop_or_probe_move();
 
+    #if HAS_BED_PROBE
+      deploy_z_probe();
+    #endif
+
     feedrate = homing_feedrate[Z_AXIS];
 
     bed_leveling_in_progress = true;