diff --git a/lib/cli.py b/lib/cli.py
index 6afea96b68e211ed0cf15bd12503c0b51db6f754..9773842a83803b83d069920eb9690980810061bd 100644
--- a/lib/cli.py
+++ b/lib/cli.py
@@ -747,7 +747,13 @@ def GenericMain(commands, override=None, aliases=None):
   if aliases is None:
     aliases = {}
 
-  func, options, args = _ParseArgs(sys.argv, commands, aliases)
+  try:
+    func, options, args = _ParseArgs(sys.argv, commands, aliases)
+  except errors.ParameterError, err:
+    result, err_msg = FormatError(err)
+    ToStderr(err_msg)
+    return 1
+
   if func is None: # parse error
     return 1