diff --git a/src/sbbs3/ctrl/sbbsctrl.cpp b/src/sbbs3/ctrl/sbbsctrl.cpp
index a02e63600c1549189f80982ecd23ac98cd345d1e..e1efaa8d1e7c4b9dcc3ab1d61849645aadbef492 100644
--- a/src/sbbs3/ctrl/sbbsctrl.cpp
+++ b/src/sbbs3/ctrl/sbbsctrl.cpp
@@ -87,10 +87,9 @@ WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR cmd, int)
          Application->CreateForm(__classid(TUserListForm), &UserListForm);
          Application->CreateForm(__classid(TEventsForm), &EventsForm);
          Application->CreateForm(__classid(TServicesForm), &ServicesForm);
-         if(cmd[0])
-            SAFECOPY(MainForm->ini_file,cmd);
-        else
-            sbbs_get_ini_fname(MainForm->ini_file, MainForm->global.ctrl_dir, NULL /* auto-hostname */);
+         if(cmd[0] && isdir(cmd))
+            SAFECOPY(MainForm->global.ctrl_dir,cmd);
+         sbbs_get_ini_fname(MainForm->ini_file, MainForm->global.ctrl_dir, NULL /* auto-hostname */);
 		Application->Run();
     }
     catch (Exception &exception)