diff --git a/src/sbbs3/js_archive.c b/src/sbbs3/js_archive.c
index d371cc2dfeaf0dca222f027c5dd46fc32c27dd80..f425a0c5abb3315d66693cfc910dde6bd63f3fe5 100644
--- a/src/sbbs3/js_archive.c
+++ b/src/sbbs3/js_archive.c
@@ -705,11 +705,21 @@ JSClass js_archive_class = {
 
 JSObject* js_CreateArchiveClass(JSContext* cx, JSObject* parent)
 {
-	return JS_InitClass(cx, parent, NULL
+	JSObject* obj = JS_InitClass(cx, parent, NULL
 		,&js_archive_class
 		,js_archive_constructor
 		,1		/* number of constructor args */
 		,NULL	/* props, set in constructor */
 		,NULL	/* funcs, set in constructor */
 		,NULL, NULL);
+	if(obj != NULL) {
+		jsval val;
+		if(JS_GetProperty(cx, parent, js_archive_class.name, &val) && !JSVAL_NULL_OR_VOID(val)) {
+			JSObject* constructor;
+			JS_ValueToObject(cx, val, &constructor);
+			js_CreateArrayOfStrings(cx, constructor, "supported_formats", supported_archive_formats
+				,JSPROP_PERMANENT|JSPROP_ENUMERATE|JSPROP_READONLY);
+		}
+	}
+	return obj;
 }