diff --git a/bundle/vim-chat/syntax/vimchat.vim b/bundle/vim-chat/syntax/vimchat.vim
index 2001a0740..e46419fb1 100644
--- a/bundle/vim-chat/syntax/vimchat.vim
+++ b/bundle/vim-chat/syntax/vimchat.vim
@@ -6,6 +6,16 @@
 " hi link vimChatTime		String
 " hi link vimChatMe		Type
 " syn match vimChatMsg 	/^\[\d\d\(:\d\d\)\{0,2\}][^>]*/	contains=vimChatTime,vimChatNick
+if !exists("main_syntax")
+  if version < 600
+    syntax clear
+  elseif exists("b:current_syntax")
+    finish
+  endif
+  let main_syntax = 'vimchat'
+endif
+
+syntax sync fromstart
 syn match VimChatTime /\[\d\d\d\d-\d\d-\d\d\s\d\d\:\d\d]/
 syn match VimChatVert /ā”‚/
 syn match VimChatNick /\[\d\d\d\d-\d\d-\d\d\s\d\d\:\d\d]\sā”‚[^ā”‚]*ā”‚/ contains=VimChatTime,VimChatVert
@@ -26,3 +36,8 @@ hi def link VimChatRemoteNick Todo
 hi def link VimChatPing ModeMsg
 hi def link VimChatCodeBlock String
 hi def link VimChatCodeBlockLines String
+
+let b:current_syntax = "vimchat"
+if main_syntax == 'vimchat'
+  unlet main_syntax
+endif