diff --git a/src/sbbs3/js_system.c b/src/sbbs3/js_system.c
index b523603b6f1b89bb30a395af47cfc5700eacc8eb..c3ef9f57c970850227534bdc6f04abc58d77922a 100644
--- a/src/sbbs3/js_system.c
+++ b/src/sbbs3/js_system.c
@@ -577,19 +577,24 @@ static JSBool js_sysstats_get(JSContext *cx, JSObject *obj, jsid id, jsval *vp)
 	jsrefcount	rc;
 
 	js_system_private_t* sys;
-	if((sys = (js_system_private_t*)JS_GetPrivate(cx,obj))==NULL)
+	if((sys = (js_system_private_t*)JS_GetPrivate(cx,obj))==NULL) {
+		JS_ReportError(cx, "JS_GetPrivate failure in %s", __FUNCTION__);
 		return JS_FALSE;
+	}
 	scfg_t* cfg = sys->cfg;
 
     JS_IdToValue(cx, id, &idval);
     tiny = JSVAL_TO_INT(idval);
 
-	rc=JS_SUSPENDREQUEST(cx);
-	if(!getstats(cfg, 0, &stats)) {
+	if(tiny < SYSSTAT_PROP_TOTALUSERS) {
+		rc=JS_SUSPENDREQUEST(cx);
+		if(!getstats(cfg, 0, &stats)) {
+			JS_RESUMEREQUEST(cx, rc);
+			JS_ReportError(cx, "getstats failure in %s", __FUNCTION__);
+			return JS_FALSE;
+		}
 		JS_RESUMEREQUEST(cx, rc);
-		return(FALSE);
 	}
-	JS_RESUMEREQUEST(cx, rc);
 
 	switch(tiny) {
 		case SYSSTAT_PROP_LOGONS: