diff --git a/exec/xtrn_sec.js b/exec/xtrn_sec.js
index b27f658ead7c93f5acf7ec7fdcfc40a109259201..ed412309f5bc91680176600212f5bf480e140cb8 100644
--- a/exec/xtrn_sec.js
+++ b/exec/xtrn_sec.js
@@ -26,7 +26,7 @@ var xsec=-1;
 }
 
 var options;
-if((options=load("modopts.js","xtrn_sec")) == null)
+if((options=load({}, "modopts.js","xtrn_sec")) == null)
 	options = {multicolumn: true, sort: false};	// default values
 
 if(options.multicolumn == undefined)
@@ -83,7 +83,7 @@ function external_program_menu(xsec)
 			else
 				n=prog_list.length;
 
-			for(i=0;i<n;i++) {
+			for(i=0;i<n && !console.aborted;i++) {
 				printf(bbs.text(XtrnProgLstFmt),i+1
 					,prog_list[i].name
 					,prog_list[i].cost);