diff --git a/gdb-port/parser.py b/gdb-port/parser.py
index 7fa2071ba5e7c9067a52b3f43cbbe302253dfacd..73c9838144770a294f2577cf190b353eb16e5a51 100644
--- a/gdb-port/parser.py
+++ b/gdb-port/parser.py
@@ -361,17 +361,18 @@ class ParserStack:
 			print("commit_at_pop: pop_allocs:", { current_event[2].address: current_frame_alloc }) # DEBUG
 			return { current_event[2].address: current_frame_alloc }
 
+		pop_allocs = {}
+		pop_allocs[current_event[2].address] = pop_allocs.get(current_event[2].address, 0) + current_frame_alloc
+
 		if len(ev_list) > 1:
 			bytes_list = [ev[1] for ev in ev_list]
 
 			differences = map(lambda smaller, bigger: bigger-smaller, bytes_list[:-1], bytes_list[1:])
-			pop_allocs = {}
 			for index, event in enumerate(ev_list[:-1]):
 				alloc = next(differences)
 				print("commit_at_pop: alloc:", alloc) # DEBUG
 				event[2].add_mem_use(int(self.arena), alloc)
 				pop_allocs[event[2].address] = pop_allocs.get(event[2].address, 0) + alloc
-			pop_allocs[current_event[2].address] = pop_allocs.get(current_event[2].address, 0) + current_frame_alloc
 			print("commit_at_pop: pop_allocs:", pop_allocs) # DEBUG
 
 		self.committed = len(self.stack_events)-1