diff --git a/postprocess/skymap/megasky.py b/postprocess/skymap/megasky.py
index db6628d8575e369f344cadd4620cb9c50d035a25..522016c4a7500b90184e48f7472355d0da7b3d24 100755
--- a/postprocess/skymap/megasky.py
+++ b/postprocess/skymap/megasky.py
@@ -330,16 +330,25 @@ def make_skyview(directory='.', mdc=None, NSIDE=128, ra=None, dec=None, results=
 # -- Write main script for command line running
 if __name__ == "__main__":
 
+    # Example command line function calls
+    # megasky.py /path/to/working/dir --mdc=/path/to/mdc/mdclog.txt
+    # megasky.py --mdc=/path/to/mdc/mdclog.txt
+
     # Allow navigation into specified working directory
     topdir=os.getcwd()
-    try:
-        workdir=sys.argv[1]
-    except IndexError:
-        # No work directory specified, workdir=./
-        workdir=os.getcwd()
-    os.chdir(workdir)
 
-    opts, args = getopt.getopt(sys.argv[1:], "", ['directory=', 'mdc=', 'NSIDE=', 'ra=', 'dec=', 'geo'])
+    # Working directory is current directory unless it is specified by the 
+    # first argument of the function call
+    workdir=os.getcwd()
+    inargs = sys.argv[1:]
+    if len(sys.argv) >= 2:
+      if os.path.isdir(sys.argv[1]):
+         workdir = sys.argv[1]
+         inargs = sys.argv[2:]
+
+    os.chdir(workdir)
+         
+    opts, args = getopt.getopt(inargs, "", ['directory=', 'mdc=', 'NSIDE=', 'ra=', 'dec=', 'geo'])
 
     # -- Set default argument values
     directory='.'