diff --git a/rts/sm/GCAux.c b/rts/sm/GCAux.c
index 3c1f3199714c21cb7cef50b4bfcd2da81fdd27d2..c2a1e02ffb602627b7d80bfba0ac2c241ad27bc9 100644
--- a/rts/sm/GCAux.c
+++ b/rts/sm/GCAux.c
@@ -91,7 +91,7 @@ isAlive(StgClosure *p)
         return TAG_CLOSURE(tag,(StgClosure*)UN_FORWARDING_PTR(info));
     }
 
-    info = ACQUIRE_LOAD(&q->header.info);
+    ACQUIRE_FENCE_ON(&q->header.info);
     info = INFO_PTR_TO_STRUCT(info);
 
     switch (info->type) {