diff --git a/src/main.c b/src/main.c
--- a/src/main.c
+++ b/src/main.c
@@ -1206,7 +1206,12 @@
 	    else
 #endif
 		if (must_redraw)
-		update_screen(0);
+		{
+		    int save_did_emsg = did_emsg;
+		    did_emsg = FALSE; /* make sure, evaluating foldtext doesn't abort */
+		    update_screen(0);
+		    did_emsg = save_did_emsg;
+		}
 	    else if (redraw_cmdline || clear_cmdline)
 		showmode();
 #ifdef FEAT_WINDOWS
