diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp
index 1d8224047ad814ce94df7ffd65491d693776adba..b06c1099f4e14478f1121055ba38e7fd194abbfc 100644
--- a/Marlin/Marlin_main.cpp
+++ b/Marlin/Marlin_main.cpp
@@ -5279,7 +5279,7 @@ void process_next_command() {
   // Args pointer optimizes code_seen, especially those taking XYZEF
   // This wastes a little cpu on commands that expect no arguments.
   current_command_args = current_command;
-  while (*current_command_args != ' ') ++current_command_args;
+  while (*current_command_args && *current_command_args != ' ') ++current_command_args;
   while (*current_command_args == ' ') ++current_command_args;
 
   // Interpret the code int