diff --git a/src/sbbs3/js_file.c b/src/sbbs3/js_file.c
index 76f1fef0cf862503e8804c5e13cdd13dc79e85e7..bd64eb7ebf0c2157f98ad4c8ad14c8db68bd16fc 100644
--- a/src/sbbs3/js_file.c
+++ b/src/sbbs3/js_file.c
@@ -1202,7 +1202,9 @@ js_iniGetSections(JSContext *cx, uintN argc, jsval *arglist)
 	array = JS_NewArrayObject(cx, 0, NULL);
 
 	rc = JS_SUSPENDREQUEST(cx);
-	list = iniReadSectionList(p->fp, prefix);
+	str_list_t ini = iniReadFile(p->fp);
+	list = iniGetSectionList(ini, prefix);
+	strListFree(&ini);
 	FREE_AND_NULL(prefix);
 	JS_RESUMEREQUEST(cx, rc);
 	for (i = 0; list && list[i]; i++) {