updated for version 7.0131
diff --git a/src/gui.c b/src/gui.c
index f0d65ee..c7f872e 100644
--- a/src/gui.c
+++ b/src/gui.c
@@ -4590,6 +4590,7 @@
     int		type = (flags & FRD_TYPE_MASK);
     char_u	*p;
     regmatch_T	regmatch;
+    int		save_did_emsg = did_emsg;
 
     ga_init2(&ga, 1, 100);
     if (type == FRD_REPLACEALL)
@@ -4666,6 +4667,10 @@
 	msg_scroll = i;	    /* don't let an error message set msg_scroll */
     }
 
+    /* Don't want to pass did_emsg to other code, it may cause disabling
+     * syntax HL if we were busy redrawing. */
+    did_emsg = save_did_emsg;
+
     if (State & (NORMAL | INSERT))
     {
 	gui_update_screen();		/* update the screen */