diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp
index bd20a7f40f9df07f39b0ba54ea26dc4ec71b8187..8a7b05bdb2d678b10373298f49cf288ce8a36fab 100644
--- a/src/sbbs3/main.cpp
+++ b/src/sbbs3/main.cpp
@@ -1119,6 +1119,13 @@ bool sbbs_t::js_init(ulong* stack_frame)
 		return(false);
 	JS_BEGINREQUEST(js_cx);
 	
+	memset(&js_callback,0,sizeof(js_callback));
+	js_callback.limit = startup->js.time_limit;
+	js_callback.gc_interval = startup->js.gc_interval;
+	js_callback.yield_interval = startup->js.yield_interval;
+	js_callback.terminated = &terminated;
+	js_callback.auto_terminate = TRUE;
+
 	bool success=false;
 	bool rooted=false;
 
@@ -1131,7 +1138,7 @@ bool sbbs_t::js_init(ulong* stack_frame)
 		/* Global Objects (including system, js, client, Socket, MsgBase, File, User, etc. */
 		if(!js_CreateCommonObjects(js_cx, &scfg, &cfg, js_global_functions
 					,uptime, startup->host_name, SOCKLIB_DESC	/* system */
-					,&js_callback									/* js */
+					,&js_callback								/* js */
 					,&startup->js
 					,&client, client_socket						/* client */
 					,&js_server_props							/* server */