--- a/lib/args.c	2014-08-10 10:19:48.000000000 +0530
+++ b/lib/args.c	2014-12-02 02:08:03.387516813 +0530
@@ -144,7 +144,8 @@
     unsigned i = 1;
 
     for (clr=gof->opts, i=1; clr; clr = clr->next, i<<=1)
-      if (clr->arg && (i & toys.optflags)) *clr->arg = 0;
+      if (clr->arg && (i & toys.optflags) &&
+          (clr->dex[1] & opt->dex[0])) *clr->arg = 0;
     toys.optflags &= ~opt->dex[0];
   }
   toys.optflags |= opt->dex[1];
