diff --git a/cmdutils.c b/cmdutils.c
index 96b40f31a64f9c04b754018d18bd9efdcba76793..eff011c7cee14756088c7fa2e244e3511d5c03a1 100644
--- a/cmdutils.c
+++ b/cmdutils.c
@@ -414,7 +414,7 @@ int locate_option(int argc, char **argv, const OptionDef *options,
              (po->name && !strcmp(optname, po->name)))
             return i;
 
-        if (!po || po->flags & HAS_ARG)
+        if (!po->name || po->flags & HAS_ARG)
             i++;
     }
     return 0;