diff --git a/src/proto/screen.pro b/src/proto/screen.pro
index b40e0da..39424b4 100644
--- a/src/proto/screen.pro
+++ b/src/proto/screen.pro
@@ -10,7 +10,7 @@
 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);
+int update_screen(int type_arg);
 int conceal_cursor_line(win_T *wp);
 void conceal_check_cursur_line(void);
 void update_single_line(win_T *wp, linenr_T lnum);
diff --git a/src/screen.c b/src/screen.c
index 42995c7..6ce478e 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -538,8 +538,9 @@
 /*
  * Based on the current value of curwin->w_topline, transfer a screenfull
  * of stuff from Filemem to ScreenLines[], and update curwin->w_botline.
+ * Return OK when the screen was updated, FAIL if it was not done.
  */
-    void
+    int
 update_screen(int type_arg)
 {
     int		type = type_arg;
@@ -557,7 +558,7 @@
 
     /* Don't do anything if the screen structures are (not yet) valid. */
     if (!screen_valid(TRUE))
-	return;
+	return FAIL;
 
     if (type == VALID_NO_UPDATE)
     {
@@ -589,7 +590,7 @@
 	must_redraw = type;
 	if (type > INVERTED_ALL)
 	    curwin->w_lines_valid = 0;	/* don't use w_lines[].wl_size now */
-	return;
+	return FAIL;
     }
 
     updating_screen = TRUE;
@@ -842,6 +843,7 @@
 	gui_update_scrollbars(FALSE);
     }
 #endif
+    return OK;
 }
 
 #if defined(FEAT_SIGNS) || defined(FEAT_GUI) || defined(FEAT_CONCEAL)
diff --git a/src/terminal.c b/src/terminal.c
index c025df1..cb74fcb 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -40,7 +40,9 @@
  * TODO:
  * - patch to use GUI or cterm colors for vterm. Yasuhiro, #2067
  * - patch to add tmap, jakalope (Jacob Askeland) #2073
- * - Redirecting output does not work on MS-Windows.
+ * - Redirecting output does not work on MS-Windows, Test_terminal_redir_file()
+ *   is disabled.
+ * - test_terminal_no_cmd hangs (Christian)
  * - implement term_setsize()
  * - add test for giving error for invalid 'termsize' value.
  * - support minimal size when 'termsize' is "rows*cols".
@@ -1543,7 +1545,8 @@
 	/* TODO: skip screen update when handling a sequence of keys. */
 	/* Repeat redrawing in case a message is received while redrawing. */
 	while (curwin->w_redr_type != 0)
-	    update_screen(0);
+	    if (update_screen(0) == FAIL)
+		break;
 	update_cursor(curbuf->b_term, FALSE);
 
 	c = term_vgetc();
diff --git a/src/version.c b/src/version.c
index 689a10e..a62d190 100644
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1100,
+/**/
     1099,
 /**/
     1098,
