diff --git a/src/quickfix.c b/src/quickfix.c
index 1901e38..99b0169 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -6016,6 +6016,23 @@
 }
 
 /*
+ * Return TRUE if "buf" had an existing swap file, the current swap file does
+ * not end in ".swp".
+ */
+    static int
+existing_swapfile(buf_T *buf)
+{
+    if (buf->b_ml.ml_mfp != NULL)
+    {
+	char_u *fname = buf->b_ml.ml_mfp->mf_fname;
+	size_t len = STRLEN(fname);
+
+	return fname[len - 1] != 'p' || fname[len - 2] != 'w';
+    }
+    return FALSE;
+}
+
+/*
  * Search for a pattern in a list of files and populate the quickfix list with
  * the matches.
  */
@@ -6125,7 +6142,8 @@
 			buf = NULL;
 		    }
 		    else if (buf != *first_match_buf
-					|| (cmd_args->flags & VGR_NOJUMP))
+					|| (cmd_args->flags & VGR_NOJUMP)
+					|| existing_swapfile(buf))
 		    {
 			unload_dummy_buffer(buf, dirname_start);
 			// Keeping the buffer, remove the dummy flag.
diff --git a/src/testdir/runtest.vim b/src/testdir/runtest.vim
index f3609f8..f431748 100644
--- a/src/testdir/runtest.vim
+++ b/src/testdir/runtest.vim
@@ -91,6 +91,9 @@
 let s:test_script_fname = expand('%')
 au! SwapExists * call HandleSwapExists()
 func HandleSwapExists()
+  if exists('g:ignoreSwapExists')
+    return
+  endif
   " Ignore finding a swap file for the test script (the user might be
   " editing it and do ":make test_name") and the output file.
   " Report finding another swap file and chose 'q' to avoid getting stuck.
diff --git a/src/testdir/test_quickfix.vim b/src/testdir/test_quickfix.vim
index 8ca5578..e71a3df 100644
--- a/src/testdir/test_quickfix.vim
+++ b/src/testdir/test_quickfix.vim
@@ -2837,6 +2837,26 @@
   call delete('Xresult')
 endfunc
 
+func Test_vimgrep_existing_swapfile()
+  call writefile(['match apple with apple'], 'Xapple')
+  call writefile(['swapfile'], '.Xapple.swp')
+  let g:foundSwap = 0
+  let g:ignoreSwapExists = 1
+  augroup grep
+    au SwapExists * let foundSwap = 1 | let v:swapchoice = 'e'
+  augroup END
+  vimgrep apple Xapple
+  call assert_equal(1, g:foundSwap)
+  call assert_match('.Xapple.swo', swapname(''))
+
+  call delete('Xapple')
+  call delete('Xapple.swp')
+  augroup grep
+    au! SwapExists
+  augroup END
+  unlet g:ignoreSwapExists
+endfunc
+
 func XfreeTests(cchar)
   call s:setup_commands(a:cchar)
 
diff --git a/src/version.c b/src/version.c
index e6b8a89..98e4080 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1384,
+/**/
     1383,
 /**/
     1382,
