diff --git a/rts/ThreadPaused.c b/rts/ThreadPaused.c
index 8e8d6051a65162bfc321236a6f5778281726033f..fd480601d3187f792162a6cdc5b3020e57ac39c0 100644
--- a/rts/ThreadPaused.c
+++ b/rts/ThreadPaused.c
@@ -304,7 +304,7 @@ threadPaused(Capability *cap, StgTSO *tso)
                 // the value to the frame underneath:
                 tso->stackobj->sp = (StgPtr)frame + sizeofW(StgUpdateFrame) - 2;
                 tso->stackobj->sp[1] = (StgWord)bh;
-                ASSERT(bh->header.info != &stg_TSO_info);
+                ASSERT(RELAXED_LOAD(&bh->header.info) != &stg_TSO_info);
                 tso->stackobj->sp[0] = (W_)&stg_enter_info;
 
                 // And continue with threadPaused; there might be