diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index 78fe178..0eaa662 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -3186,7 +3186,7 @@
 
     ffname = eap->arg;
 #ifdef FEAT_BROWSE
-    if (cmdmod.browse)
+    if (cmdmod.browse && !exiting)
     {
 	browse_file = do_browse(BROWSE_SAVE, (char_u *)_("Save As"), ffname,
 						    NULL, NULL, NULL, curbuf);
diff --git a/src/terminal.c b/src/terminal.c
index 3511e0c..93b0817 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -358,6 +358,16 @@
 }
 
 /*
+ * Flush messages on channels.
+ */
+    static void
+term_flush_messages()
+{
+    mch_check_messages();
+    parse_queued_messages();
+}
+
+/*
  * Close a terminal buffer (and its window).  Used when creating the terminal
  * fails.
  */
@@ -1455,8 +1465,7 @@
 	    return OK;
 
 	ui_delay(10L, FALSE);
-	mch_check_messages();
-	parse_queued_messages();
+	term_flush_messages();
     }
     return FAIL;
 }
@@ -3064,7 +3073,7 @@
     for (term = first_term; term != NULL; term = next_term)
     {
 	next_term = term->tl_next;
-	if (term->tl_job == ch->ch_job)
+	if (term->tl_job == ch->ch_job && !term->tl_channel_closed)
 	{
 	    term->tl_channel_closed = TRUE;
 	    did_one = TRUE;
@@ -5628,33 +5637,31 @@
 	ch_log(NULL, "term_wait(): waiting for channel to close");
 	while (buf->b_term != NULL && !buf->b_term->tl_channel_closed)
 	{
-	    mch_check_messages();
-	    parse_queued_messages();
+	    term_flush_messages();
+
 	    ui_delay(10L, FALSE);
 	    if (!buf_valid(buf))
 		/* If the terminal is closed when the channel is closed the
 		 * buffer disappears. */
 		break;
 	}
-	mch_check_messages();
-	parse_queued_messages();
+
+	term_flush_messages();
     }
     else
     {
 	long wait = 10L;
 
-	mch_check_messages();
-	parse_queued_messages();
+	term_flush_messages();
 
 	/* Wait for some time for any channel I/O. */
 	if (argvars[1].v_type != VAR_UNKNOWN)
 	    wait = tv_get_number(&argvars[1]);
 	ui_delay(wait, TRUE);
-	mch_check_messages();
 
 	/* Flushing messages on channels is hopefully sufficient.
 	 * TODO: is there a better way? */
-	parse_queued_messages();
+	term_flush_messages();
     }
 }
 
diff --git a/src/version.c b/src/version.c
index c21c12c..5514b4b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -778,6 +778,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1592,
+/**/
     1591,
 /**/
     1590,
