diff --git a/src/channel.c b/src/channel.c
index b31d95d..886522b 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -2887,7 +2887,7 @@
 	      if (channel_need_redraw)
 	      {
 		  channel_need_redraw = FALSE;
-		  redraw_after_callback();
+		  redraw_after_callback(TRUE);
 	      }
 
 	      if (!channel->ch_drop_never)
@@ -4130,7 +4130,7 @@
     if (channel_need_redraw)
     {
 	channel_need_redraw = FALSE;
-	redraw_after_callback();
+	redraw_after_callback(TRUE);
     }
 
     --safe_to_invoke_callback;
@@ -5230,7 +5230,7 @@
     if (channel_need_redraw)
     {
 	channel_need_redraw = FALSE;
-	redraw_after_callback();
+	redraw_after_callback(TRUE);
     }
 }
 
diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c
index 3682e79..18930a6 100644
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -1194,6 +1194,7 @@
     long	next_due = -1;
     proftime_T	now;
     int		did_one = FALSE;
+    int		need_update_screen = FALSE;
     long	current_id = last_timer_id;
 # ifdef WIN3264
     LARGE_INTEGER   fr;
@@ -1221,10 +1222,12 @@
 	    int did_emsg_save = did_emsg;
 	    int called_emsg_save = called_emsg;
 	    int did_throw_save = did_throw;
+	    int	save_must_redraw = must_redraw;
 
 	    timer_busy = timer_busy > 0 || vgetc_busy > 0;
 	    vgetc_busy = 0;
 	    called_emsg = FALSE;
+	    must_redraw = 0;
 	    timer->tr_firing = TRUE;
 	    timer_callback(timer);
 	    timer->tr_firing = FALSE;
@@ -1240,6 +1243,10 @@
 	    }
 	    did_emsg = did_emsg_save;
 	    called_emsg = called_emsg_save;
+	    if (must_redraw != 0)
+		need_update_screen = TRUE;
+	    must_redraw = must_redraw > save_must_redraw
+					      ? must_redraw : save_must_redraw;
 
 	    /* Only fire the timer again if it repeats and stop_timer() wasn't
 	     * called while inside the callback (tr_id == -1). */
@@ -1265,7 +1272,7 @@
     }
 
     if (did_one)
-	redraw_after_callback();
+	redraw_after_callback(need_update_screen);
 
     return current_id != last_timer_id ? 1 : next_due;
 }
diff --git a/src/proto/screen.pro b/src/proto/screen.pro
index 4e89293..b40e0da 100644
--- a/src/proto/screen.pro
+++ b/src/proto/screen.pro
@@ -7,7 +7,7 @@
 void redraw_buf_later(buf_T *buf, int type);
 void redraw_buf_and_status_later(buf_T *buf, int type);
 int redraw_asap(int type);
-void redraw_after_callback(void);
+void redraw_after_callback(int call_update_screen);
 void redrawWinline(linenr_T lnum, int invalid);
 void update_curbuf(int type);
 void update_screen(int type_arg);
@@ -47,7 +47,7 @@
 int win_ins_lines(win_T *wp, int row, int line_count, int invalid, int mayclear);
 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 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 showmode(void);
 void unshowmode(int force);
 void clearmode(void);
diff --git a/src/screen.c b/src/screen.c
index 54ba957..b576214 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -445,9 +445,11 @@
  * Invoked after an asynchronous callback is called.
  * If an echo command was used the cursor needs to be put back where
  * it belongs. If highlighting was changed a redraw is needed.
+ * If "call_update_screen" is FALSE don't call update_screen() when at the
+ * command line.
  */
     void
-redraw_after_callback(void)
+redraw_after_callback(int call_update_screen)
 {
     ++redrawing_for_callback;
 
@@ -461,7 +463,7 @@
 #ifdef FEAT_WILDMENU
 		&& wild_menu_showing == 0
 #endif
-		)
+		&& call_update_screen)
 	    update_screen(0);
 	/* Redraw in the same position, so that the user can continue
 	 * editing the command. */
@@ -3013,7 +3015,7 @@
     int		startrow,
     int		endrow,
     int		nochange UNUSED,	/* not updating for changed text */
-    proftime_T	*syntax_tm)
+    proftime_T	*syntax_tm UNUSED)
 {
     int		col = 0;		/* visual column on screen */
     unsigned	off;			/* offset in ScreenLines/ScreenAttrs */
diff --git a/src/terminal.c b/src/terminal.c
index c522613..a8c7ae5 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -669,7 +669,7 @@
 	    update_cursor(term, TRUE);
 	}
 	else
-	    redraw_after_callback();
+	    redraw_after_callback(TRUE);
     }
 }
 
diff --git a/src/version.c b/src/version.c
index f8eb491..d79f429 100644
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1002,
+/**/
     1001,
 /**/
     1000,
