diff --git a/src/sbbs3/ftpsrvr.c b/src/sbbs3/ftpsrvr.c
index 26aa82866a895e1e085e5a42c75c74492e1a7d8b..ad39458f2d4585d8d687598037cfd6f968ca60b1 100644
--- a/src/sbbs3/ftpsrvr.c
+++ b/src/sbbs3/ftpsrvr.c
@@ -3528,6 +3528,9 @@ static void ctrl_thread(void* arg)
 					if(js_CreateUserClass(js_cx, js_glob, &scfg)==NULL) 
 						lprintf("%04d !JavaScript ERROR creating user class",sock);
 
+					if(js_CreateFileClass(js_cx, js_glob)==NULL) 
+						lprintf("%04d !JavaScript ERROR creating file class",sock);
+
 					if(js_CreateUserObject(js_cx, js_glob, &scfg, "user", user.number)==NULL) 
 						lprintf("%04d !JavaScript ERROR creating user object",sock);
 
diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp
index 5f762d2b5f3067bdc2342d8e5731cf87d18c7039..551fe563d276981a03507813e353f12b20a4c353 100644
--- a/src/sbbs3/main.cpp
+++ b/src/sbbs3/main.cpp
@@ -332,6 +332,10 @@ bool sbbs_t::js_initcx()
 		if(js_CreateSocketClass(js_cx, js_glob)==NULL)
 			break;
 
+		/* File Class */
+		if(js_CreateFileClass(js_cx, js_glob)==NULL)
+			break;
+
 		/* Server Object */
 		if((server=JS_DefineObject(js_cx, js_glob, "server", &js_server_class
 			,NULL,0))==NULL)
diff --git a/src/sbbs3/sbbs.h b/src/sbbs3/sbbs.h
index 8630915dc60039ec878434c09551dfed1073f78b..d204d68a63a7cf0338341f4a931bf4d4fba725a8 100644
--- a/src/sbbs3/sbbs.h
+++ b/src/sbbs3/sbbs.h
@@ -810,6 +810,9 @@ extern "C" {
 	DLLEXPORT JSObject* DLLCALL js_CreateSocketObject(JSContext* cx, JSObject* parent
 													,char *name, SOCKET sock);
 
+	/* js_file.c */
+	DLLEXPORT JSObject* DLLCALL js_CreateFileClass(JSContext* cx, JSObject* parent);
+
 	/* js_console.cpp */
 	JSObject* js_CreateConsoleObject(JSContext* cx, JSObject* parent);