diff --git a/src/sbbs3/js_msg_area.c b/src/sbbs3/js_msg_area.c
index 3f43ebcb95d041a8ff3d6e983c9e2e7ba7ff80fa..bc46b05e602f04ef4dce401a02edbb6846b80b05 100644
--- a/src/sbbs3/js_msg_area.c
+++ b/src/sbbs3/js_msg_area.c
@@ -308,10 +308,14 @@ static JSBool js_sub_set(JSContext *cx, JSObject *obj, jsid id, JSBool strict, j
 	jsval idval;
 	int32		val=0;
     jsint       tiny;
-	subscan_t*	scan;
+	struct js_msg_area_priv *p;
+
+	if((p=(struct js_msg_area_priv*)JS_GetPrivate(cx, obj))==NULL)
+		return JS_FALSE;
 
-	if((scan=(subscan_t*)JS_GetPrivate(cx,obj))==NULL)
-		return(JS_TRUE);
+	subscan_t*	scan = p->subscan;
+	if(scan == NULL)
+		return JS_FALSE;
 
     JS_IdToValue(cx, id, &idval);
     tiny = JSVAL_TO_INT(idval);