diff --git a/Config/Dyre/Options.hs b/Config/Dyre/Options.hs
--- a/Config/Dyre/Options.hs
+++ b/Config/Dyre/Options.hs
@@ -92,13 +92,18 @@
     masterPath <- getMasterBinary
     stateFile  <- getStatePersist
     debugMode  <- getDebug
-    return . filter (not . null) $ fromMaybe [] otherArgs ++
-        [ if debugMode then "--dyre-debug" else ""
-        , case stateFile of
-               Nothing -> ""
-               Just sf -> "--dyre-state-persist=" ++ sf
-        , "--dyre-master-binary=" ++ (fromJust masterPath)
-        ]
+    mainArgs <- case otherArgs of
+                     Nothing -> getArgs
+                     Just oa -> return oa
+    -- Combine the other arguments with the Dyre-specific ones
+    let args = filter (not . null) $
+            mainArgs ++ [ if debugMode then "--dyre-debug" else ""
+                        , case stateFile of
+                               Nothing -> ""
+                               Just sf -> "--dyre-state-persist=" ++ sf
+                        , "--dyre-master-binary=" ++ (fromJust masterPath)
+                        ]
+    return args
 
 -- | Look for the given flag in the argument array, and store
 --   its value under the given name if it exists.
diff --git a/dyre.cabal b/dyre.cabal
--- a/dyre.cabal
+++ b/dyre.cabal
@@ -1,5 +1,5 @@
 name:          dyre
-version:       0.5
+version:       0.6
 category:      Development, Configuration
 synopsis:      Dynamic reconfiguration in Haskell
 
