diff --git a/src/window.c b/src/window.c
index 27b353e..b4b23d3 100644
--- a/src/window.c
+++ b/src/window.c
@@ -580,7 +580,29 @@
 		    need_mouse_correct = TRUE;
 #endif
 		    setpcmark();
-		    if (win_split(0, 0) == OK)
+
+		    // If 'switchbuf' is set to 'useopen' or 'usetab' and the
+		    // file is already opened in a window, then jump to it.
+		    wp = NULL;
+		    if ((swb_flags & (SWB_USEOPEN | SWB_USETAB))
+						&& cmdmod.cmod_tab == 0)
+		    {
+			buf_T *existing_buf = buflist_findname_exp(ptr);
+
+			if (existing_buf != NULL)
+			{
+			    if (swb_flags & SWB_USEOPEN)
+				wp = buf_jump_open_win(existing_buf);
+
+			    // If 'switchbuf' contains "usetab": jump to first
+			    // window in any tab page containing "existing_buf"
+			    // if one exists.
+			    if (wp == NULL && (swb_flags & SWB_USETAB))
+				wp = buf_jump_open_tab(existing_buf);
+			}
+		    }
+
+		    if (wp == NULL && win_split(0, 0) == OK)
 		    {
 			RESET_BINDING(curwin);
 			if (do_ecmd(0, ptr, NULL, NULL, ECMD_LASTL,
@@ -591,12 +613,15 @@
 			    win_close(curwin, FALSE);
 			    goto_tabpage_win(oldtab, oldwin);
 			}
-			else if (nchar == 'F' && lnum >= 0)
-			{
-			    curwin->w_cursor.lnum = lnum;
-			    check_cursor_lnum();
-			    beginline(BL_SOL | BL_FIX);
-			}
+			else
+			    wp = curwin;
+		    }
+
+		    if (wp != NULL && nchar == 'F' && lnum >= 0)
+		    {
+			curwin->w_cursor.lnum = lnum;
+			check_cursor_lnum();
+			beginline(BL_SOL | BL_FIX);
 		    }
 		    vim_free(ptr);
 		}
