diff --git a/gdb-port/top-level-parse.py b/gdb-port/top-level-parse.py
index 90ad64219f96c76d4b81147b113f5e9a7db9e6e9..e12bc6b2a60e0fe8402ed66e1292005891c41977 100644
--- a/gdb-port/top-level-parse.py
+++ b/gdb-port/top-level-parse.py
@@ -74,6 +74,8 @@ class TopLevelParse:
 		except KeyError:
 			parser_obj = Parser(None, parser)
 			self.parser_objs[parser] = parser_obj
+		parser_stack = self.peek_parserstack()
+		parser_stack.push(parser_obj)
 		self.h_do_parse_parser = parser_obj # TODO: current_parser_env should be set here instead too
 		parser_obj.increment_apply_count(int(arena))
 		if parser_stack.parse_state is None and parser_stack.parse_state != parse_state:
@@ -127,7 +129,7 @@ class TopLevelParse:
 			self.parser_objs[parser_addr] = parser_obj
 
 		parser_stack = self.peek_parserstack()
-		parser_stack.push(parser_obj)
+		#parser_stack.push(parser_obj)
 		if self.parser_decombinator:
 			p_env = self.parser_decombinator.decompose_parser(parser_obj, self)
 			self.set_parser_env(type(p_env).__name__ + " - " + str(p_env)) # TODO: pass this as data structure to frontend