diff --git a/syntax/magit.vim b/syntax/magit.vim
index 446efb3852564ee3494c118741a86b843310f6a0..fb74de7de30f8dc9bcc5db8fc55aeb15e4f4b112 100644
--- a/syntax/magit.vim
+++ b/syntax/magit.vim
@@ -13,13 +13,16 @@ syn include @diff syntax/diff.vim
 execute 'syn match titleEntry "' . g:magit_section_re . '\n=\+"'
 hi def link titleEntry Comment
 
+execute 'syn match commitMsgExceed "\(=\+\n.\{50}\)\@<=.*$"'
+hi def link commitMsgExceed Comment
+
 execute 'syn match stashEntry "' . g:magit_stash_re . '"'
 hi def link stashEntry String
 
 execute 'syn match fileEntry "' . g:magit_file_re . '"'
 hi def link fileEntry String
 
-execute 'syn region gitTitle start=/^$\n' . g:magit_section_re . '/ end=/^$/ contains=titleEntry'
+execute 'syn region gitTitle start=/^$\n' . g:magit_section_re . '/ end=/^$/ contains=titleEntry,commitMsgExceed'
 
 execute 'syn region gitStash start=/' . g:magit_stash_re . '/ end=/\%(' .
  \ g:magit_stash_re . '\)\@=/ contains=stashEntry fold'