diff --git a/src/syncterm/bbslist.c b/src/syncterm/bbslist.c
index 6c35fd49190c0dcf8566880901094e39573db146..0f1482351b1a16c18ce08c2fd8a816c8deffe6bb 100644
--- a/src/syncterm/bbslist.c
+++ b/src/syncterm/bbslist.c
@@ -1662,8 +1662,9 @@ struct bbslist *show_bbslist(char *current, int connected)
 							}
 							break;
 						case -1:		/* ESC */
-							if (!check_exit(TRUE))
-								continue;
+							if(!connected)
+								if (!check_exit(TRUE))
+									continue;
 							free_list(&list[0],listcount);
 							return(NULL);
 					}
@@ -1881,8 +1882,9 @@ struct bbslist *show_bbslist(char *current, int connected)
 						at_settings=!at_settings;
 						break;
 					case -1:		/* ESC */
-						if (!check_exit(TRUE))
-							continue;
+						if (!connected)
+							if (!check_exit(TRUE))
+								continue;
 						free_list(&list[0],listcount);
 						return(NULL);
 					case 0:			/* Edit default connection settings */