diff --git a/src/change.c b/src/change.c
index 11f4b0a..b1a56ae 100644
--- a/src/change.c
+++ b/src/change.c
@@ -376,10 +376,18 @@
     linenr_T	start = MAXLNUM;
     linenr_T	end = 0;
     linenr_T	added = 0;
+    int		save_updating_screen = updating_screen;
+    static int	recursive = FALSE;
 
     if (buf->b_recorded_changes == NULL  // nothing changed
-	    || buf->b_listener == NULL)  // no listeners
+	    || buf->b_listener == NULL   // no listeners
+	    || recursive)		 // already busy
 	return;
+    recursive = TRUE;
+
+    // Block messages on channels from being handled, so that they don't make
+    // text changes here.
+    ++updating_screen;
 
     argv[0].v_type = VAR_NUMBER;
     argv[0].vval.v_number = buf->b_fnum; // a:bufnr
@@ -418,6 +426,12 @@
     --textlock;
     list_unref(buf->b_recorded_changes);
     buf->b_recorded_changes = NULL;
+
+    if (save_updating_screen)
+	updating_screen = TRUE;
+    else
+	after_updating_screen(TRUE);
+    recursive = FALSE;
 }
 #endif
 
diff --git a/src/proto/screen.pro b/src/proto/screen.pro
index 0657831..ab73e0b 100644
--- a/src/proto/screen.pro
+++ b/src/proto/screen.pro
@@ -10,7 +10,7 @@
 int redraw_asap(int type);
 void redraw_after_callback(int call_update_screen);
 void redrawWinline(win_T *wp, linenr_T lnum);
-void reset_updating_screen(int may_resize_shell);
+void after_updating_screen(int may_resize_shell);
 void update_curbuf(int type);
 int update_screen(int type_arg);
 int conceal_cursor_line(win_T *wp);
@@ -18,7 +18,7 @@
 void update_debug_sign(buf_T *buf, linenr_T lnum);
 void updateWindow(win_T *wp);
 int screen_get_current_line_off(void);
-void screen_line(int row, int coloff, int endcol, int clear_width, int rlflag);
+void screen_line(int row, int coloff, int endcol, int clear_width, int flags);
 void rl_mirror(char_u *str);
 void status_redraw_all(void);
 void status_redraw_curbuf(void);
diff --git a/src/screen.c b/src/screen.c
index d20bd2a..de0833a 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -506,8 +506,12 @@
     redraw_win_later(wp, VALID);
 }
 
+/*
+ * To be called when "updating_screen" was set before and now the postponed
+ * side effects may take place.
+ */
     void
-reset_updating_screen(int may_resize_shell UNUSED)
+after_updating_screen(int may_resize_shell UNUSED)
 {
     updating_screen = FALSE;
 #ifdef FEAT_GUI
@@ -803,7 +807,7 @@
     FOR_ALL_WINDOWS(wp)
 	wp->w_buffer->b_mod_set = FALSE;
 
-    reset_updating_screen(TRUE);
+    after_updating_screen(TRUE);
 
     /* Clear or redraw the command line.  Done last, because scrolling may
      * mess up the command line. */
@@ -886,7 +890,7 @@
     end_search_hl();
 # endif
 
-    reset_updating_screen(TRUE);
+    after_updating_screen(TRUE);
 
 # ifdef FEAT_GUI
     /* Redraw the cursor and update the scrollbars when all screen updating is
diff --git a/src/ui.c b/src/ui.c
index ac0cc27..ed0e50a 100644
--- a/src/ui.c
+++ b/src/ui.c
@@ -691,7 +691,7 @@
     if (save_updating_screen)
 	updating_screen = TRUE;
     else
-	reset_updating_screen(FALSE);
+	after_updating_screen(FALSE);
 
     recursive = FALSE;
 }
diff --git a/src/version.c b/src/version.c
index 511b28b..089b44f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -768,6 +768,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1419,
+/**/
     1418,
 /**/
     1417,
