diff --git a/src/sbbs3/js_global.c b/src/sbbs3/js_global.c
index d1cdab065b7c2c9afef3536e7fd4b797daec2f3a..e8a392d13fdd762e728a5bfa88b5d3e65ec7bafd 100644
--- a/src/sbbs3/js_global.c
+++ b/src/sbbs3/js_global.c
@@ -347,15 +347,16 @@ js_load(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
 		SAFECOPY(path,filename);
 	else {
 		path[0]=0;
-		if(JS_GetProperty(cx, obj, "js", &val) && JSVAL_IS_OBJECT(val)) {
+		if(JS_GetProperty(cx, obj, "js", &val) && val!=JSVAL_VOID && JSVAL_IS_OBJECT(val)) {
 			JSObject* js = JSVAL_TO_OBJECT(val);
-			if(JS_GetProperty(cx, js, "exec_dir", &val) && JSVAL_IS_STRING(val)) {
+			if(JS_GetProperty(cx, js, "exec_dir", &val) && val!=JSVAL_VOID && JSVAL_IS_STRING(val)) {
 				SAFEPRINTF2(path,"%s%s",js_ValueToStringBytes(cx, val, NULL),filename);
 				if(!fexistcase(path))
 					path[0]=0;
 			}
 			if(path[0]==0
 				&& JS_GetProperty(cx, js, JAVASCRIPT_LOAD_PATH_LIST, &val) 
+				&& val!=JSVAL_VOID
 				&& JSVAL_IS_OBJECT(val)) {
 				JSObject*	list = JSVAL_TO_OBJECT(val);
 				jsuint		i;