diff --git a/src/buffer.c b/src/buffer.c
index 409564b..903a94a 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -2270,7 +2270,8 @@
 #endif
     buf_T	*buf;
 
-    for (buf = firstbuf; buf != NULL; buf = buf->b_next)
+    /* Start at the last buffer, expect to find a match sooner. */
+    for (buf = lastbuf; buf != NULL; buf = buf->b_prev)
 	if ((buf->b_flags & BF_DUMMY) == 0 && !otherfile_buf(buf, ffname
 #ifdef UNIX
 		    , stp
@@ -2355,7 +2356,7 @@
 		    return -1;
 		}
 
-		for (buf = firstbuf; buf != NULL; buf = buf->b_next)
+		for (buf = lastbuf; buf != NULL; buf = buf->b_prev)
 		    if (buf->b_p_bl == find_listed
 #ifdef FEAT_DIFF
 			    && (!diffmode || diff_mode_buf(buf))
@@ -2581,7 +2582,8 @@
 
     if (nr == 0)
 	nr = curwin->w_alt_fnum;
-    for (buf = firstbuf; buf != NULL; buf = buf->b_next)
+    /* Assume newer buffers are used more often, start from the end. */
+    for (buf = lastbuf; buf != NULL; buf = buf->b_prev)
 	if (buf->b_fnum == nr)
 	    return buf;
     return NULL;
diff --git a/src/quickfix.c b/src/quickfix.c
index 1e5abc6..24852b3 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -4292,6 +4292,10 @@
 	aucmd_restbuf(&aco);
 	if (newbuf_to_wipe != NULL && buf_valid(newbuf_to_wipe))
 	    wipe_buffer(newbuf_to_wipe, FALSE);
+
+	/* Add back the "dummy" flag, otherwise buflist_findname_stat() won't
+	 * skip it. */
+	newbuf->b_flags |= BF_DUMMY;
     }
 
     /*
diff --git a/src/version.c b/src/version.c
index c9febf7..913bf69 100644
--- a/src/version.c
+++ b/src/version.c
@@ -759,6 +759,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2023,
+/**/
     2022,
 /**/
     2021,
