diff --git a/Marlin/src/gcode/calibrate/G28.cpp b/Marlin/src/gcode/calibrate/G28.cpp
index b1845ee79b3be7f48d2944d5fdec2f77c1ffa112..02fe1bbedbe3a3c1ff393eac0d1fa138a6b9a471 100644
--- a/Marlin/src/gcode/calibrate/G28.cpp
+++ b/Marlin/src/gcode/calibrate/G28.cpp
@@ -207,6 +207,7 @@ void GcodeSuite::G28(const bool always_home_all) {
 
   // Cancel the active G29 session
   #if ENABLED(PROBE_MANUALLY)
+    extern bool g29_in_progress;
     g29_in_progress = false;
   #endif
 
@@ -397,7 +398,7 @@ void GcodeSuite::G28(const bool always_home_all) {
     do_blocking_move_to_z(delta_clip_start_height);
   #endif
 
-  #if ENABLED(RESTORE_LEVELING_AFTER_G28)
+  #if HAS_LEVELING && ENABLED(RESTORE_LEVELING_AFTER_G28)
     set_bed_leveling_enabled(leveling_was_active);
   #endif