diff --git a/src/sbbs3/exec.cpp b/src/sbbs3/exec.cpp
index f864952c7177a32fe42d350b3c1402ee063478d6..8659d549bdf8366a07d0a9de98e491ff36b9e52a 100644
--- a/src/sbbs3/exec.cpp
+++ b/src/sbbs3/exec.cpp
@@ -801,6 +801,10 @@ long sbbs_t::exec_bin(const char *cmdline, csi_t *csi, const char* startup_dir)
 		SAFEPRINTF2(str,"%s%s",cfg.exec_dir,modname);
 		fexistcase(str);
 	}
+	if(!fexist(str)) {
+		errormsg(WHERE, ERR_EXEC, mod, 0, "module doesn't exist");
+		return -1;
+	}
 	if((file=nopen(str,O_RDONLY))==-1) {
 		errormsg(WHERE,ERR_OPEN,str,O_RDONLY);
 		return(-1);