diff --git a/src/buffer.c b/src/buffer.c
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -1441,6 +1441,7 @@
 enter_buffer(buf)
     buf_T	*buf;
 {
+    int long old_tw = curbuf->b_p_tw;
     /* Copy buffer and window local option values.  Not for a help buffer. */
     buf_copy_options(buf, BCO_ENTER | BCO_NOHELP);
     if (!buf->b_help)
@@ -1464,6 +1465,8 @@
 
 #ifdef FEAT_SYN_HL
     curwin->w_s = &(buf->b_s);
+    if (old_tw != buf->b_p_tw)
+	check_colorcolumn(curwin);
 #endif
 
     /* Cursor on first line by default. */
