diff --git a/src/edit.c b/src/edit.c
index 92dbf4c..f797d7f 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -8722,7 +8722,7 @@
      */
     if (reg_recording != 0 || restart_edit != NUL)
 	showmode();
-    else if (p_smd)
+    else if (p_smd && !skip_showmode())
 	msg("");
 
     return TRUE;	    /* exit Insert mode */
diff --git a/src/getchar.c b/src/getchar.c
index ff1b06b..fe74dbf 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -3039,9 +3039,10 @@
 
 	/*
 	 * Always flush the output characters when getting input characters
-	 * from the user.
+	 * from the user and not just peeking.
 	 */
-	out_flush();
+	if (wait_time == -1L || wait_time > 10L)
+	    out_flush();
 
 	/*
 	 * Fill up to a third of the buffer, because each character may be
diff --git a/src/proto/screen.pro b/src/proto/screen.pro
index b78796e..0657831 100644
--- a/src/proto/screen.pro
+++ b/src/proto/screen.pro
@@ -49,6 +49,7 @@
 int win_del_lines(win_T *wp, int row, int line_count, int invalid, int mayclear, int clear_attr);
 int screen_ins_lines(int off, int row, int line_count, int end, int clear_attr, win_T *wp);
 int screen_del_lines(int off, int row, int line_count, int end, int force, int clear_attr, win_T *wp);
+int skip_showmode(void);
 int showmode(void);
 void unshowmode(int force);
 void clearmode(void);
diff --git a/src/screen.c b/src/screen.c
index a80e8de..9cdbf16 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -10110,6 +10110,26 @@
 }
 
 /*
+ * Return TRUE when postponing displaying the mode message: when not redrawing
+ * or inside a mapping.
+ */
+    int
+skip_showmode()
+{
+    // Call char_avail() only when we are going to show something, because it
+    // takes a bit of time.  redrawing() may also call char_avail_avail().
+    if (global_busy
+	    || msg_silent != 0
+	    || !redrawing()
+	    || (char_avail() && !KeyTyped))
+    {
+	redraw_cmdline = TRUE;		// show mode later
+	return TRUE;
+    }
+    return FALSE;
+}
+
+/*
  * Show the current mode and ruler.
  *
  * If clear_cmdline is TRUE, clear the rest of the cmdline.
@@ -10135,16 +10155,8 @@
 		|| VIsual_active));
     if (do_mode || reg_recording != 0)
     {
-	/*
-	 * Don't show mode right now, when not redrawing or inside a mapping.
-	 * Call char_avail() only when we are going to show something, because
-	 * it takes a bit of time.
-	 */
-	if (!redrawing() || (char_avail() && !KeyTyped) || msg_silent != 0)
-	{
-	    redraw_cmdline = TRUE;		/* show mode later */
-	    return 0;
-	}
+	if (skip_showmode())
+	    return 0;		// show mode later
 
 	nwr_save = need_wait_return;
 
diff --git a/src/version.c b/src/version.c
index ad2f5e7..4d7730c 100644
--- a/src/version.c
+++ b/src/version.c
@@ -788,6 +788,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    822,
+/**/
     821,
 /**/
     820,
