diff --git a/src/plugins/e-acsl/share/e-acsl/segment_model/e_acsl_segment_tracking.h b/src/plugins/e-acsl/share/e-acsl/segment_model/e_acsl_segment_tracking.h
index 1a2bac5abefb1b9a9702e55e92dceef54b468cef..d2400f592b324ad670de36b215512328d12434f9 100644
--- a/src/plugins/e-acsl/share/e-acsl/segment_model/e_acsl_segment_tracking.h
+++ b/src/plugins/e-acsl/share/e-acsl/segment_model/e_acsl_segment_tracking.h
@@ -979,7 +979,7 @@ static void unset_heap_segment(void *ptr, int init, const char *function) {
   /* Nullify shadow block */
   memset(base_shadow, ZERO, alloc_size);
   /* Adjust tracked allocation size */
-  heap_allocation_size -= length;
+  update_heap_allocation(-length);
 #ifdef E_ACSL_TEMPORAL /*{{{*/
   /* Nullify temporal shadow */
   uintptr_t *t_base_shadow = (uintptr_t*)TEMPORAL_HEAP_SHADOW(ptr);