diff --git a/exec/xtrn_sec.js b/exec/xtrn_sec.js
index 55d7f156b824d1f490cb08c58bf7b6d299628f84..8e9453d3c16465f9ec1e0af5bf16ee685543b33a 100644
--- a/exec/xtrn_sec.js
+++ b/exec/xtrn_sec.js
@@ -130,13 +130,20 @@ function external_program_menu(xsec)
 		if(options.clear_screen)
 			console.clear(LIGHTGRAY);
 
-		var secnum = xtrn_area.sec_list[xsec].number+1
+		var secnum = xtrn_area.sec_list[xsec].number+1;
+		var seccode = xtrn_area.sec_list[xsec].code;
 		if(bbs.menu_exists("xtrn" + secnum + "_head")) {
 			bbs.menu("xtrn" + secnum + "_head");
 		}
+		else if(bbs.menu_exists("xtrn" + seccode + "_head")) {
+			bbs.menu("xtrn" + seccode + "_head");
+		}
 		if(bbs.menu_exists("xtrn" + secnum)) {
 			bbs.menu("xtrn" + secnum);
 		}
+		else if(bbs.menu_exists("xtrn" + seccode)) {
+			bbs.menu("xtrn" + seccode);
+		}
 		else {
 			var multicolumn = options.multicolumn && prog_list.length > options.singlecolumn_height;
 			if(options.sort)