diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp
index ec8072de777b8468c18d75c3ff1c88398ad823a2..a3104584376648f78d62cae1c367a328c77b83b6 100644
--- a/Marlin/Marlin_main.cpp
+++ b/Marlin/Marlin_main.cpp
@@ -5170,7 +5170,7 @@ void process_next_command() {
   //  - Overwrite * with nul to mark the end
   while (*current_command == ' ') ++current_command;
   if (*current_command == 'N' && current_command[1] >= '0' && current_command[1] <= '9') {
-    while (*current_command != ' ') ++current_command;
+    while (*current_command != ' ' && *current_command != 'G' && *current_command != 'M' && *current_command != 'T') ++current_command;
     while (*current_command == ' ') ++current_command;
   }
   char *starpos = strchr(current_command, '*');  // * should always be the last parameter