diff --git a/gsrp_smart_util.py b/gsrp_smart_util.py
index 67a3463c80c8a0aedd9e7b1c79dec2c3518df49b..6a25bf20fdcfcfbe9a14adf05f0cb41b1bd119d5 100644
--- a/gsrp_smart_util.py
+++ b/gsrp_smart_util.py
@@ -68,6 +68,7 @@ def op_tree(tree):
                 else:
                     raise KeyError(f'{group} not found in:\n{tree}')
                 program[i].append(Operation('mem', j, tree[j].index(group), i))
+                program[j][tree[j].index(group)].lifetime = i
     for i, step in enumerate(program):
         for j, op in enumerate(step):
             clean_list[op.lifetime].append((i, j))