diff --git a/Marlin/src/lcd/menu/menu_bed_corners.cpp b/Marlin/src/lcd/menu/menu_bed_corners.cpp
index a289b1f296..a7fffb1e02 100644
--- a/Marlin/src/lcd/menu/menu_bed_corners.cpp
+++ b/Marlin/src/lcd/menu/menu_bed_corners.cpp
@@ -88,23 +88,25 @@ static inline void _lcd_level_bed_corners_homing() {
   _lcd_draw_homing();
   if (all_axes_homed()) {
     bed_corner = 0;
-    MenuItem_confirm::select_screen(
-      GET_TEXT(MSG_BUTTON_NEXT), GET_TEXT(MSG_BUTTON_DONE),
-      _lcd_goto_next_corner,
-      []{
-        #if HAS_LEVELING
-          set_bed_leveling_enabled(leveling_was_active);
-        #endif
-        ui.goto_previous_screen_no_defer();
-      },
-      GET_TEXT(
-      #if ENABLED(LEVEL_CENTER_TOO)
-        MSG_LEVEL_BED_NEXT_POINT
-      #else
-        MSG_NEXT_CORNER
-      #endif
-      ), (PGM_P)nullptr, PSTR("?")
+    ui.goto_screen([]{
+      MenuItem_confirm::select_screen(
+        GET_TEXT(MSG_BUTTON_NEXT), GET_TEXT(MSG_BUTTON_DONE),
+        _lcd_goto_next_corner,
+        []{
+          #if HAS_LEVELING
+            set_bed_leveling_enabled(leveling_was_active);
+          #endif
+          ui.goto_previous_screen_no_defer();
+        },
+        GET_TEXT(
+          #if ENABLED(LEVEL_CENTER_TOO)
+            MSG_LEVEL_BED_NEXT_POINT
+          #else
+            MSG_NEXT_CORNER
+          #endif
+        ), (PGM_P)nullptr, PSTR("?")
       );
+    });
     ui.set_selection(true);
     _lcd_goto_next_corner();
   }