if(matches == 1) i=last_match;
   }
 
-  if (Commands[i].Name)
+  if (Commands[i].Name) {
+    while (Cmd[len] == ' ')
+      ++len;
     Commands[i].Parse(Cmd + len);
-  else
-    // show help (always first in array) for selected hierarchy or if command not recognised
+  } else {
+    // show help for selected hierarchy or if command not recognised
     CmdsHelp(Commands);
+  }
 }