diff --git a/gdb-port/parser-type-instrumentation-gdb.py b/gdb-port/parser-type-instrumentation-gdb.py
index 6dc9b882518485cd9cc2b5e14412cf31cd018787..25dee8aa21e50d77117a1e9f6734ba060c52f0b3 100644
--- a/gdb-port/parser-type-instrumentation-gdb.py
+++ b/gdb-port/parser-type-instrumentation-gdb.py
@@ -541,15 +541,16 @@ class PermutationEnv(HParserEnv):
 		super().__init__(parser, top_level_parse)
 		self.parser = parser
 		self.member_parsers = []
+		parser_val = gdb.Value(parser.address).cast(self.hparser_p_t).dereference()
 
 		#frame = gdb.selected_frame()
 		h_sequence_t = gdb.lookup_type("HSequence")
 		h_sequence_p_t = h_sequence_t.pointer()
 
 		# Get the parser object
-		parser_obj = gdb.parse_and_eval("*parser")
+		#parser_obj = gdb.parse_and_eval("*parser")
 		# Get parser_obj.env, cast it to HSequence *, then dereference
-		p_env = parser_obj['env'].cast(h_sequence_p_t).dereference()
+		p_env = parser_val['env'].cast(h_sequence_p_t).dereference()
 		# Get length of HSequence
 		num_parsers = p_env['len']
 		# Get the array of parsers in the sequence
@@ -611,15 +612,16 @@ class SequenceEnv(HParserEnv):
 		super().__init__(parser, top_level_parse)
 		self.parser = parser
 		self.member_parsers = []
+		parser_val = gdb.Value(parser.address).cast(self.hparser_p_t).dereference()
 
 		#frame = gdb.selected_frame()
 		h_sequence_t = gdb.lookup_type("HSequence")
 		h_sequence_p_t = h_sequence_t.pointer()
 
 		# Get the parser object
-		parser_obj = gdb.parse_and_eval("*parser")
+		#parser_obj = gdb.parse_and_eval("*parser")
 		# Get parser_obj.env, cast it to HSequence *, then dereference
-		p_env = parser_obj['env'].cast(h_sequence_p_t).dereference()
+		p_env = parser_val['env'].cast(h_sequence_p_t).dereference()
 		# Get length of HSequence
 		num_parsers = p_env['len']
 		# Get the array of parsers in the sequence