diff --git a/src/sbbs3/js_global.c b/src/sbbs3/js_global.c
index 5c4cc7b80a0acbc2cb7cf776a09f3025239a1938..c35cef82644d4ce4eaaa75ce61c93ffb597bd98e 100644
--- a/src/sbbs3/js_global.c
+++ b/src/sbbs3/js_global.c
@@ -300,9 +300,10 @@ js_format(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
     for(i=1; i<argc; i++) {
 		if(JSVAL_IS_DOUBLE(argv[i]))
 			fmt=xp_asprintf_next(fmt,XP_PRINTF_CONVERT|XP_PRINTF_TYPE_DOUBLE,*JSVAL_TO_DOUBLE(argv[i]));
-		else if(JSVAL_IS_INT(argv[i]) 
-			|| (JSVAL_IS_BOOLEAN(argv[i]) && xp_printf_get_type(fmt)!=XP_PRINTF_TYPE_CHARP))
+		else if(JSVAL_IS_INT(argv[i]))
 			fmt=xp_asprintf_next(fmt,XP_PRINTF_CONVERT|XP_PRINTF_TYPE_INT,JSVAL_TO_INT(argv[i]));
+		else if(JSVAL_IS_BOOLEAN(argv[i]) && xp_printf_get_type(fmt)!=XP_PRINTF_TYPE_CHARP)
+			fmt=xp_asprintf_next(fmt,XP_PRINTF_CONVERT|XP_PRINTF_TYPE_INT,JSVAL_TO_BOOLEAN(argv[i]));
 		else {
 			if((str=JS_ValueToString(cx, argv[i]))==NULL) {
 				JS_ReportError(cx,"JS_ValueToString failed");