diff --git a/gdb-port/top-level-parse.py b/gdb-port/top-level-parse.py
index 6b3fa38d287af6d9268d44f26494e879d12cc884..d2f97b9a19d8fd90a52ef4f25f6d54d4f65fca3d 100644
--- a/gdb-port/top-level-parse.py
+++ b/gdb-port/top-level-parse.py
@@ -90,7 +90,7 @@ class TopLevelParse:
 			newbytes = parse_state['arena']['arena_malloc_bytes']
 			self.cumulative_byte_differences.insert(0, newbytes - self.bytes_at_enter[-(len(self.cumulative_byte_differences)+1)]) # TODO: consistency. this is the third way of answering the question, "how deep are we in the stack"
 			allocated_bytes = self.cumulative_byte_differences[-len(self.cumulative_byte_differences)] - self.cumulative_byte_differences[-(len(self.cumulative_byte_differences)-1)]  # NB: len(self.cumulative_byte_differences) changed since the last line
-			self.total_byte_differences[-len(self.cumulative_byte_differences)] = allocated_bytes
+			self.total_byte_differences.insert(-len(self.cumulative_byte_differences), allocated_bytes)
 			parser_obj.add_mem_use(allocated_bytes)
 			# TODO: allocations can be attributed to individual h_do_parse(parser) calls, thus the same per-parser per-arena stats tracking can be done