diff --git a/src/window.c b/src/window.c
index c6409e1..b015d1d 100644
--- a/src/window.c
+++ b/src/window.c
@@ -1358,7 +1358,7 @@
 
 #if defined(FEAT_WINDOWS) || defined(PROTO)
 /*
- * Check if "win" is a pointer to an existing window.
+ * Check if "win" is a pointer to an existing window in the current tab page.
  */
     int
 win_valid(win_T *win)
@@ -1374,6 +1374,28 @@
 }
 
 /*
+ * Check if "win" is a pointer to an existing window in any tab page.
+ */
+    int
+win_valid_any_tab(win_T *win)
+{
+    win_T	*wp;
+    tabpage_T	*tp;
+
+    if (win == NULL)
+	return FALSE;
+    FOR_ALL_TABPAGES(tp)
+    {
+	FOR_ALL_WINDOWS_IN_TAB(tp, wp)
+	{
+	    if (wp == win)
+		return TRUE;
+	}
+    }
+    return FALSE;
+}
+
+/*
  * Return the number of windows.
  */
     int
