diff --git a/Marlin/src/gcode/bedlevel/mbl/G29.cpp b/Marlin/src/gcode/bedlevel/mbl/G29.cpp
index a91a053698f0e92273f864a35fed38e3a56e1819..158e25392e5766602061283ed011e66f15cef754 100644
--- a/Marlin/src/gcode/bedlevel/mbl/G29.cpp
+++ b/Marlin/src/gcode/bedlevel/mbl/G29.cpp
@@ -137,14 +137,20 @@ void GcodeSuite::G29() {
         BUZZ(100, 659);
         BUZZ(100, 698);
         mbl.has_mesh = true;
+
         gcode.home_all_axes();
         set_bed_leveling_enabled(true);
+
         #if ENABLED(MESH_G28_REST_ORIGIN)
           current_position[Z_AXIS] = Z_MIN_POS;
           set_destination_from_current();
           buffer_line_to_destination(homing_feedrate(Z_AXIS));
           stepper.synchronize();
         #endif
+
+        #if ENABLED(LCD_BED_LEVELING)
+          lcd_wait_for_move = false;
+        #endif
       }
       break;