diff --git a/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_segment_tracking.c b/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_segment_tracking.c
index 083d015a3016899debff7f46273890665e035425..bb1e201fef3a0861a5b6c152c05245c2eaf22b0f 100644
--- a/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_segment_tracking.c
+++ b/src/plugins/e-acsl/share/e-acsl/observation_model/segment_model/e_acsl_segment_tracking.c
@@ -895,7 +895,7 @@ int heap_initialized(uintptr_t addr, long len) {
     unsigned char mask = 0;
     setbits64_skip(set,mask,skip);
 
-    if (*shadow != mask)
+    if ((*shadow & mask) != mask)
       return 0;
   }
   if (len > 0)