diff --git a/src/sbbs3/js_file_area.c b/src/sbbs3/js_file_area.c
index 9dac7beddc3265ce50eece3e1008f441f05ba471..d2dfb601960e55f68b6125354e6072ab07915386 100644
--- a/src/sbbs3/js_file_area.c
+++ b/src/sbbs3/js_file_area.c
@@ -88,7 +88,7 @@ JSObject* DLLCALL js_CreateFileAreaObject(JSContext* cx, JSObject* parent, scfg_
 
 	for(l=0;l<cfg->total_libs;l++) {
 
-		if(!chk_ar(cfg,cfg->lib[l]->ar,user))
+		if(user!=NULL && !chk_ar(cfg,cfg->lib[l]->ar,user))
 			continue;
 
 		if((libobj=JS_NewObject(cx, &js_file_area_class, NULL, NULL))==NULL)
@@ -119,7 +119,7 @@ JSObject* DLLCALL js_CreateFileAreaObject(JSContext* cx, JSObject* parent, scfg_
 		for(d=0;d<cfg->total_dirs;d++) {
 			if(cfg->dir[d]->lib!=l)
 				continue;
-			if(!chk_ar(cfg,cfg->dir[d]->ar,user))
+			if(user!=NULL && !chk_ar(cfg,cfg->dir[d]->ar,user))
 				continue;
 
 			if((dirobj=JS_NewObject(cx, &js_file_area_class, NULL, NULL))==NULL)
@@ -147,7 +147,7 @@ JSObject* DLLCALL js_CreateFileAreaObject(JSContext* cx, JSObject* parent, scfg_
 				return(NULL);
 
 			if(!JS_GetArrayLength(cx, dir_list, &index))	/* inexplicable exception here on Jul-6-2001 */
-				return(NULL);
+				return(NULL);								/* and again on Aug-7-2001 and Oct-21-2001 */
 
 			val=OBJECT_TO_JSVAL(dirobj);
 			JS_SetElement(cx, dir_list, index, &val);