diff --git a/Marlin/gcode.cpp b/Marlin/gcode.cpp
index caceb09bdf..0cb2337338 100644
--- a/Marlin/gcode.cpp
+++ b/Marlin/gcode.cpp
@@ -183,7 +183,8 @@ void GCodeParser::parse(char *p) {
     #endif
 
     if (PARAM_TEST) {
-
+    
+      while (*p == ' ') p++;                    // skip spaces vetween parameters & values
       const bool has_num = DECIMAL_SIGNED(*p);  // The parameter has a number [-+0-9.]
 
       #if ENABLED(DEBUG_GCODE_PARSER)
@@ -220,8 +221,10 @@ void GCodeParser::parse(char *p) {
       #endif
     }
 
-    while (*p && *p != ' ') p++;                // Skip over the parameter
-    while (*p == ' ') p++;                      // Skip over all spaces
+    if (!WITHIN(*p, 'A', 'Z')) {
+      while (*p && NUMERIC(*p)) p++;              // Skip over the value section of a parameter
+      while (*p == ' ') p++;                      // Skip over all spaces
+    }
   }
 }