diff --git a/src/buffer.c b/src/buffer.c
index e884f55..b0e3a22 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -574,9 +574,12 @@
     int		is_curbuf = (buf == curbuf);
 
     buf->b_closing = TRUE;
-    apply_autocmds(EVENT_BUFUNLOAD, buf->b_fname, buf->b_fname, FALSE, buf);
-    if (!buf_valid(buf))	    /* autocommands may delete the buffer */
-	return;
+    if (buf->b_ml.ml_mfp != NULL)
+    {
+	apply_autocmds(EVENT_BUFUNLOAD, buf->b_fname, buf->b_fname, FALSE, buf);
+	if (!buf_valid(buf))	    /* autocommands may delete the buffer */
+	    return;
+    }
     if ((flags & BFA_DEL) && buf->b_p_bl)
     {
 	apply_autocmds(EVENT_BUFDELETE, buf->b_fname, buf->b_fname, FALSE, buf);
diff --git a/src/testdir/test_autocmd.vim b/src/testdir/test_autocmd.vim
index d3e0981..1dceb70 100644
--- a/src/testdir/test_autocmd.vim
+++ b/src/testdir/test_autocmd.vim
@@ -7,29 +7,56 @@
   " becomes one.
 endfunc
 
-if !has('timers')
-  finish
+if has('timers')
+  func ExitInsertMode(id)
+    call feedkeys("\<Esc>")
+  endfunc
+
+  func Test_cursorhold_insert()
+    let g:triggered = 0
+    au CursorHoldI * let g:triggered += 1
+    set updatetime=20
+    call timer_start(100, 'ExitInsertMode')
+    call feedkeys('a', 'x!')
+    call assert_equal(1, g:triggered)
+  endfunc
+
+  func Test_cursorhold_insert_ctrl_x()
+    let g:triggered = 0
+    au CursorHoldI * let g:triggered += 1
+    set updatetime=20
+    call timer_start(100, 'ExitInsertMode')
+    " CursorHoldI does not trigger after CTRL-X
+    call feedkeys("a\<C-X>", 'x!')
+    call assert_equal(0, g:triggered)
+  endfunc
 endif
 
-func ExitInsertMode(id)
-  call feedkeys("\<Esc>")
-endfunc
+function Test_bufunload()
+  augroup test_bufunload_group
+    autocmd!
+    autocmd BufUnload * call add(s:li, "bufunload")
+    autocmd BufDelete * call add(s:li, "bufdelete")
+    autocmd BufWipeout * call add(s:li, "bufwipeout")
+  augroup END
 
-func Test_cursorhold_insert()
-  let g:triggered = 0
-  au CursorHoldI * let g:triggered += 1
-  set updatetime=20
-  call timer_start(100, 'ExitInsertMode')
-  call feedkeys('a', 'x!')
-  call assert_equal(1, g:triggered)
-endfunc
+  let s:li=[]
+  new
+  setlocal bufhidden=
+  bunload
+  call assert_equal(["bufunload", "bufdelete"], s:li)
 
-func Test_cursorhold_insert_ctrl_x()
-  let g:triggered = 0
-  au CursorHoldI * let g:triggered += 1
-  set updatetime=20
-  call timer_start(100, 'ExitInsertMode')
-  " CursorHoldI does not trigger after CTRL-X
-  call feedkeys("a\<C-X>", 'x!')
-  call assert_equal(0, g:triggered)
+  let s:li=[]
+  new
+  setlocal bufhidden=delete
+  bunload
+  call assert_equal(["bufunload", "bufdelete"], s:li)
+
+  let s:li=[]
+  new
+  setlocal bufhidden=unload
+  bwipeout
+  call assert_equal(["bufunload", "bufdelete", "bufwipeout"], s:li)
+
+  augroup! test_bufunload_group
 endfunc
diff --git a/src/version.c b/src/version.c
index 8b92714..f1bbbdd 100644
--- a/src/version.c
+++ b/src/version.c
@@ -754,6 +754,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1837,
+/**/
     1836,
 /**/
     1835,
