diff --git a/rts/sm/NonMovingMark.c b/rts/sm/NonMovingMark.c
index 02d03dc72119a9612d79b14f27669356d4006558..183c366a56268dc42069bdc3740e14ec7db367c7 100644
--- a/rts/sm/NonMovingMark.c
+++ b/rts/sm/NonMovingMark.c
@@ -737,9 +737,11 @@ void updateRemembSetPushStack(Capability *cap, StgStack *stack)
             // The concurrent GC has claimed the right to mark the stack.
             // Wait until it finishes marking before proceeding with
             // mutation.
-            while (needs_upd_rem_set_mark((StgClosure *) stack));
+            while (needs_upd_rem_set_mark((StgClosure *) stack))
 #if defined(PARALLEL_GC)
                 busy_wait_nop(); // TODO: Spinning here is unfortunate
+#else
+                ;
 #endif
             return;
         }