diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp
index 64e9cbabbb7d608bacdc2a94384d833a7bec6a72..01fd4f69e39fac31b0e899502b06159f651e7d54 100644
--- a/Marlin/Marlin_main.cpp
+++ b/Marlin/Marlin_main.cpp
@@ -352,7 +352,7 @@ static bool relative_mode = false;
 volatile bool wait_for_heatup = true;
 
 #if ENABLED(EMERGENCY_PARSER) && DISABLED(ULTIPANEL)
-  wait_for_user = false;
+  volatile bool wait_for_user = false;
 #endif
 
 const char errormagic[] PROGMEM = "Error:";
@@ -7010,7 +7010,7 @@ void process_next_command() {
     break;
 
     case 'M': switch (codenum) {
-      #if ENABLED(ULTIPANEL)
+      #if ENABLED(ULTIPANEL) || ENABLED(EMERGENCY_PARSER)
         case 0: // M0 - Unconditional stop - Wait for user button press on LCD
         case 1: // M1 - Conditional stop - Wait for user button press on LCD
           gcode_M0_M1();