diff --git a/src/syncterm/bbslist.c b/src/syncterm/bbslist.c
index e754d8a3c76d29203d9ec9dca205dd8a211487a5..73f57d0790bdc0e5c3761cb1da1cf43ff572d344 100644
--- a/src/syncterm/bbslist.c
+++ b/src/syncterm/bbslist.c
@@ -2109,6 +2109,7 @@ struct bbslist *show_bbslist(char *current, int connected)
     struct bbslist defaults;
     char    shared_list[MAX_PATH+1];
     char list_title[30];
+    int redraw = 0;
 
     glob_sbar = &sbar;
     glob_sopt = &sopt;
@@ -2184,8 +2185,9 @@ struct bbslist *show_bbslist(char *current, int connected)
 			uifc.list_height = uifc.scrn_len - 4;
                 val=uifc.list((listcount<MAX_OPTS?WIN_XTR:0)
                     |WIN_ACT|WIN_INSACT|WIN_DELACT|WIN_UNGETMOUSE|WIN_SAV|WIN_ESC
-                    |WIN_INS|WIN_DEL|WIN_EDIT|WIN_EXTKEYS|WIN_DYN|WIN_FIXEDHEIGHT
+                    |WIN_INS|WIN_DEL|WIN_EDIT|WIN_EXTKEYS|WIN_DYN|WIN_FIXEDHEIGHT|(redraw?WIN_NODRAW:0)
                     ,0,(uifc.scrn_len-(uifc.list_height)+1)/2-4,0,&opt,&bar,list_title,(char **)list);
+                redraw = 0;
                 if(val==listcount)
                     val=listcount|MSK_INS;
                 if(val==-7) { /* CTRL-E */
@@ -2221,8 +2223,10 @@ struct bbslist *show_bbslist(char *current, int connected)
                                     |WIN_INS|WIN_DEL|WIN_EDIT|WIN_EXTKEYS|WIN_DYN
                                     |WIN_SEL|WIN_FIXEDHEIGHT
                                     ,0,(uifc.scrn_len-(uifc.list_height)+1)/2-4,0,&opt,&bar,list_title,(char **)list);
-				if (edit_comment(list[opt], settings.list_path))
+				if (edit_comment(list[opt], settings.list_path)) {
+                                    redraw = 1;
 				    break;
+                                }
                                 at_settings=!at_settings;
                                 break;
                             }