diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c
index a275fb8..a8be96d 100644
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -1447,9 +1447,15 @@
 
 #if defined(FEAT_SYN_HL)
     if (eap->cmdidx != CMD_windo && eap->cmdidx != CMD_tabdo)
+    {
 	/* Don't do syntax HL autocommands.  Skipping the syntax file is a
 	 * great speed improvement. */
 	save_ei = au_event_disable(",Syntax");
+
+	for (buf = firstbuf; buf != NULL; buf = buf->b_next)
+	    buf->b_flags &= ~BF_SYN_SET;
+	buf = curbuf;
+    }
 #endif
 #ifdef FEAT_CLIPBOARD
     start_global_changes();
@@ -1641,9 +1647,35 @@
 #if defined(FEAT_SYN_HL)
     if (save_ei != NULL)
     {
+	buf_T		*bnext;
+	aco_save_T	aco;
+
 	au_event_restore(save_ei);
-	apply_autocmds(EVENT_SYNTAX, curbuf->b_p_syn,
+
+	for (buf = firstbuf; buf != NULL; buf = bnext)
+	{
+	    bnext = buf->b_next;
+	    if (buf->b_nwindows > 0 && (buf->b_flags & BF_SYN_SET))
+	    {
+		buf->b_flags &= ~BF_SYN_SET;
+
+		// buffer was opened while Syntax autocommands were disabled,
+		// need to trigger them now.
+		if (buf == curbuf)
+		    apply_autocmds(EVENT_SYNTAX, curbuf->b_p_syn,
 					       curbuf->b_fname, TRUE, curbuf);
+		else
+		{
+		    aucmd_prepbuf(&aco, buf);
+		    apply_autocmds(EVENT_SYNTAX, buf->b_p_syn,
+						      buf->b_fname, TRUE, buf);
+		    aucmd_restbuf(&aco);
+		}
+
+		// start over, in case autocommands messed things up.
+		bnext = firstbuf;
+	    }
+	}
     }
 #endif
 #ifdef FEAT_CLIPBOARD
