diff --git a/exec/logon.js b/exec/logon.js
index d4d8cc0e26def41c949fccfd0cda4cd076ffa8e9..fd31522670c8496c7f18f60158186cf63af7b171 100644
--- a/exec/logon.js
+++ b/exec/logon.js
@@ -101,7 +101,7 @@ for(var i=0;;i++) {
 	var fname="logon";
 	if(i)
 		fname+=i;
-	if(!file_exists(system.text_dir + "menu/" + fname + ".asc")) {
+	if(!bbs.menu_exists(fname)) {
 		if(i>1)
 			break;
 		continue;
@@ -111,8 +111,8 @@ for(var i=0;;i++) {
 }
 
 // Print logon screens based on security level
-if(user.security.level > highest_printed_logon_screen 
-    && file_exists(system.text_dir + "menu/logon" + user.security.level + ".*"))
+if(user.security.level > highest_printed_logon_screen
+    && bbs.menu_exists("logon" + user.security.level))
 	bbs.menu("logon" + user.security.level);
 
 // Print one of text/menu/random*.*, picked at random