patch 7.4.1754
Problem:    When 'filetype' was set and reloading a buffer which does not
            cause it to be set, the syntax isn't loaded. (KillTheMule)
Solution:   Remember whether the FileType event was fired and fire it if not.
            (Anton Lindqvist, closes #747)
diff --git a/src/testdir/test_syntax.vim b/src/testdir/test_syntax.vim
index 297e835..4b88fe3 100644
--- a/src/testdir/test_syntax.vim
+++ b/src/testdir/test_syntax.vim
@@ -65,3 +65,18 @@
 
   quit!
 endfunc
+
+func Test_syntax_after_reload()
+  split Xsomefile
+  call setline(1, ['hello', 'there'])
+  w!
+  only!
+  setl filetype=hello
+  au FileType hello let g:gotit = 1
+  call assert_false(exists('g:gotit'))
+  edit other
+  buf Xsomefile
+  call assert_equal('hello', &filetype)
+  call assert_true(exists('g:gotit'))
+  call delete('Xsomefile')
+endfunc