diff --git a/Marlin/src/MarlinCore.cpp b/Marlin/src/MarlinCore.cpp
index 32121ae53a8a13ba2e3f10143feb92c0858127e9..19208636b90c3710f7b92e14e8b4a97756b75b84 100644
--- a/Marlin/src/MarlinCore.cpp
+++ b/Marlin/src/MarlinCore.cpp
@@ -438,7 +438,9 @@ void startOrResumeJob() {
 
       case 4:                                   // Display "Click to Continue..."
         #if HAS_RESUME_CONTINUE                 // 30 min timeout with LCD, 1 min without
-          did_state = queue.enqueue_one_P(PSTR("M0Q1S" TERN(HAS_LCD_MENU, "1800", "60")));
+          did_state = queue.enqueue_one_P(
+            print_job_timer.duration() < 60 ? PSTR("M0Q1P1") : PSTR("M0Q1S" TERN(HAS_LCD_MENU, "1800", "60"))
+          );
         #endif
         break;
 
diff --git a/Marlin/src/gcode/lcd/M0_M1.cpp b/Marlin/src/gcode/lcd/M0_M1.cpp
index f4b913ba2155a95855f94925d242cf2c8347f3c4..c3731fb3a76db4b0b099676bff97c35c5712a3b2 100644
--- a/Marlin/src/gcode/lcd/M0_M1.cpp
+++ b/Marlin/src/gcode/lcd/M0_M1.cpp
@@ -56,11 +56,9 @@ void GcodeSuite::M0_M1() {
 
   planner.synchronize();
 
+  const bool seenQ = parser.seen('Q');
   #if HAS_LEDS_OFF_FLAG
-    const bool seenQ = parser.seen('Q');
     if (seenQ) printerEventLEDs.onPrintCompleted();      // Change LED color for Print Completed
-  #elif HAS_LCD_MENU
-    constexpr bool seenQ = false;
   #endif
 
   #if HAS_LCD_MENU