diff --git a/lib/master.pike b/lib/master.pike
index db2a134b70e0fad18f6052eeb00263f0036dbd08..64fb8e5bb6d28ec9269cc71328e9c5488dc01a88 100644
--- a/lib/master.pike
+++ b/lib/master.pike
@@ -1,4 +1,4 @@
-#define VERSION "Pike v0.4pl1"
+#define VERSION "Pike v0.4pl2"
 
 string describe_backtrace(mixed *trace);
 
@@ -200,8 +200,10 @@ void _main(string *argv, string *env)
   tmp=new(pike_library_path+"/include/getopt.pre.pike");
 
   foreach(tmp->find_all_options(argv,({
-    ({"version",({"-v","--version"})}),
-      ({"ignore","-Dmsdatp",0,0})}),1),mixed *opts)
+    ({"version",tmp->NO_ARG,({"-v","--version"})}),
+      ({"ignore",tmp->HAS_ARG,"-ms"}),
+	({"ignore",tmp->MAY_HAVE_ARG,"-Ddatp",0,1})}),1),
+	  mixed *opts)
     {
       switch(opts[0])
       {