diff --git a/obl_main.f90 b/obl_main.f90
index 2ae82ed7b510ebb5410b66f471f67291d7d8aba2..0706637117f883f227b781d37b233ab4736f631f 100644
--- a/obl_main.f90
+++ b/obl_main.f90
@@ -98,7 +98,6 @@ program obl_main
     character(len = 128) :: arg
 
     character(len = 128), parameter :: arg_key_help = '--help'
-    character(len = 128), parameter :: arg_key_setup = '--setup'
     character(len = 128), parameter :: arg_key_config = "--config"
 
     integer :: i, status
@@ -143,9 +142,9 @@ program obl_main
             return
         end if
 
-        if (trim(arg) == trim(arg_key_setup)) then
+        if (trim(arg) == trim(arg_key_config)) then
             if (i == num_args) then
-                write(*, *) ' FAILURE! > missing setup [key] argument'
+                write(*, *) ' FAILURE! > missing config [key] argument'
                 ierr = 1        ! signal ERROR
                 return
             end if
@@ -153,29 +152,23 @@ program obl_main
             call get_command_argument(i + 1, arg)
             obl_setup = get_setup_id(arg)
             if (obl_setup == -1) then
-                write(*, *) ' FAILURE! > unknown setup [key]: ', trim(arg)
-                ierr = 1        ! signal ERROR
-                return
-            end if
-        else if (trim(arg) == trim(arg_key_config)) then
-            if (i == num_args) then
-                write(*, *) ' FAILURE! > missing configuration file [key] argument'
-                ierr = 1        ! signal ERROR
-                return
-            end if
-        
-            call get_command_argument(i + 1, arg)
 #ifdef USE_CONFIG_PARSER
-            call c_config_run(trim(arg)//C_NULL_CHAR, status)
-            if (status == 0) then
-                write(*, *) ' FAILURE! > unable to parse configuration file: ', trim(arg)
+                !< try reading configuration file
+                call c_config_run(trim(arg)//C_NULL_CHAR, status)
+                if (status == 0) then
+                    write(*, *) ' FAILURE! > unable to parse configuration file: ', trim(arg)
+                    ierr = 1        ! signal ERROR
+                    return
+                end if
+
+                !< forcing configuration file setup
+                obl_setup = 999
+#else
+                write(*, *) ' FAILURE! > unknown config [key]: ', trim(arg)
                 ierr = 1        ! signal ERROR
                 return
-            end if
-
-            !< forcing configuration file setup
-            obl_setup = 999
 #endif
+            end if
         endif
     enddo