diff --git a/gdb-port/top-level-parse.py b/gdb-port/top-level-parse.py
index a96644ee1a8f0967b57f33e3cfe513127728ea94..868d259c86e270c1f3358b7718fe202c2bc3ec22 100644
--- a/gdb-port/top-level-parse.py
+++ b/gdb-port/top-level-parse.py
@@ -405,7 +405,7 @@ class TopLevelParse:
 			return
 		charbuf = [[' '] * w for i in range(0,h+1)]
 		print("h=len(charbuf):", len(charbuf), "w :", w)
-		tokenmap_values_sorted = sorted(tokenmap_val_list, key=lambda token: token['start'])
+		tokenmap_values_sorted = sorted(tokenmap_val_list, key=lambda token: (token['start'], token['end']))
 		print("len(tokenmap_values_sorted):", len(tokenmap_values_sorted), "rows:", numrows)
 		for i in range(0, numrows):
 			token_length = tokenmap_values_sorted[i]['end'] - tokenmap_values_sorted[i]['start']