diff --git a/gdb-port/top-level-parse.py b/gdb-port/top-level-parse.py
index b6f1f6f76822ba4755bdf7a7219695c43d036f04..ea60795b644cc16fb153272ea9fd809f687d52d3 100644
--- a/gdb-port/top-level-parse.py
+++ b/gdb-port/top-level-parse.py
@@ -429,7 +429,15 @@ class TopLevelParse:
 				info_strings.append(" ".join([hpr.str_no_deref(), str(tokenmap_entry)]))
 			except:
 				info_strings.append(" ".join(["invalid", str(tokenmap_entry)]))
-			printing_index += 1
+			if tokenmap_entry['end'] > end:
+				print("carrying token to next chunk, current_token:", tokenmap_entry)
+				if printing_index+1 < len(token_list):
+					next_token = token_list[printing_index+1]
+					next_tokenmap_entry = self.input_token_map[int(next_token.address)]
+					print("next_token:", next_tokenmap_entry)
+				break
+			else:
+				printing_index += 1
 
 		self.printing_index = printing_index
 		info_dict = dict(enumerate(info_strings))