diff --git a/rts/sm/NonMoving.c b/rts/sm/NonMoving.c
index 7a5ce5562727b7534d0289470e80c4586a6ba97a..abe7ebe9703bcc9e6e04f7ca4eac0972020df921 100644
--- a/rts/sm/NonMoving.c
+++ b/rts/sm/NonMoving.c
@@ -1221,7 +1221,8 @@ concurrent_marking:
     traceConcSweepEnd();
 #if defined(DEBUG)
     if (RtsFlags.DebugFlags.nonmoving_gc)
-        nonmovingPrintAllocatorCensus(true);
+        // only collect live words if the mutator isn't running.
+        nonmovingPrintAllocatorCensus(!concurrent);
 #endif
 #if defined(TRACING)
     if (RtsFlags.TraceFlags.nonmoving_gc)