diff --git a/src/sbbs3/js_bbs.cpp b/src/sbbs3/js_bbs.cpp
index 03272d043499135035fcda94a70066efc032f566..e42fa072450039c43b3ad8d9cd638fd87ab404dc 100644
--- a/src/sbbs3/js_bbs.cpp
+++ b/src/sbbs3/js_bbs.cpp
@@ -1172,11 +1172,11 @@ js_menu(JSContext *cx, uintN argc, jsval *arglist)
 	if(!menu)
 		return JS_FALSE;
 	rc=JS_SUSPENDREQUEST(cx);
-	sbbs->menu(menu);
+	bool result = sbbs->menu(menu);
 	free(menu);
 	JS_RESUMEREQUEST(cx, rc);
 
-	JS_SET_RVAL(cx, arglist, JSVAL_VOID);
+	JS_SET_RVAL(cx, arglist, result ? JSVAL_TRUE : JSVAL_FALSE);
 
     return(JS_TRUE);
 }
@@ -4135,7 +4135,7 @@ static jsSyncMethodSpec js_bbs_functions[] = {
 	,314
 	},
 	/* menuing */
-	{"menu",			js_menu,			1,	JSTYPE_VOID,	JSDOCSTR("base_filename")
+	{"menu",			js_menu,			1,	JSTYPE_BOOLEAN,	JSDOCSTR("base_filename")
 	,JSDOCSTR("display a menu file from the text/menu directory")
 	,310
 	},