diff --git a/src/sbbs3/services.c b/src/sbbs3/services.c
index a6185dba20d28f76afb85e38d94e735cdeecdd35..a4e741037da595e159ca3e9991e776a168be4b08 100644
--- a/src/sbbs3/services.c
+++ b/src/sbbs3/services.c
@@ -1244,7 +1244,11 @@ static void js_static_service_thread(void* arg)
 		val = BOOLEAN_TO_JSVAL(JS_FALSE);
 		JS_SetProperty(js_cx, js_glob, "logged_in", &val);
 
+#ifdef USE_JS_OPERATION_CALLBACK
+		JS_SetOperationCallback(js_cx, js_OperationCallback);
+#else
 		JS_SetBranchCallback(js_cx, js_BranchCallback);
+#endif
 	
 		if((js_script=JS_CompileFile(js_cx, js_glob, spath))==NULL)  {
 			lprintf(LOG_ERR,"%04d !JavaScript FAILED to compile script (%s)",service->socket,spath);