diff --git a/src/sbbs3/js_internal.c b/src/sbbs3/js_internal.c
index 53c70e585843b254e5ba39a4ad2790d8e9700377..00b41c1bbeb6f18390a3ead1f0faa200448f679f 100644
--- a/src/sbbs3/js_internal.c
+++ b/src/sbbs3/js_internal.c
@@ -240,6 +240,9 @@ js_CommonOperationCallback(JSContext *cx, js_callback_t* cb)
 		JS_RESUMEREQUEST(cx, rc);
 	}
 
+	/* Permit other contexts to run GC */
+	JS_YieldRequest(cx);
+
 	/* Periodic Garbage Collection */
 	if(cb->gc_interval && (cb->counter%cb->gc_interval)==0)
 		JS_MaybeGC(cx), cb->gc_attempts++;