diff --git a/src/if_py_both.h b/src/if_py_both.h
index cf0f50b..f8b51b7 100644
--- a/src/if_py_both.h
+++ b/src/if_py_both.h
@@ -1848,9 +1848,11 @@
     else if (strcmp(name, "options") == 0)
 	return OptionsNew(SREQ_WIN, this->win, (checkfun) CheckWindow,
 			(PyObject *) this);
+    else if (strcmp(name, "number") == 0)
+	return PyLong_FromLong((long) get_win_number(this->win));
     else if (strcmp(name,"__members__") == 0)
 	return Py_BuildValue("[ssssss]", "buffer", "cursor", "height", "vars",
-		"options");
+		"options", "number");
     else
 	return NULL;
 }
@@ -1974,17 +1976,13 @@
     }
     else
     {
-	int	i = 0;
-	win_T	*w;
+	int	w = get_win_number(this->win);
 
-	for (w = firstwin; w != NULL && w != this->win; w = W_NEXT(w))
-	    ++i;
-
-	if (w == NULL)
+	if (w == 0)
 	    vim_snprintf(repr, 100, _("<window object (unknown) at %p>"),
 								      (self));
 	else
-	    vim_snprintf(repr, 100, _("<window %d>"), i);
+	    vim_snprintf(repr, 100, _("<window %d>"), w - 1);
 
 	return PyString_FromString(repr);
     }
diff --git a/src/proto/window.pro b/src/proto/window.pro
index 0a74489..a77da59 100644
--- a/src/proto/window.pro
+++ b/src/proto/window.pro
@@ -74,4 +74,5 @@
 int match_delete __ARGS((win_T *wp, int id, int perr));
 void clear_matches __ARGS((win_T *wp));
 matchitem_T *get_match __ARGS((win_T *wp, int id));
+int get_win_number __ARGS((win_T *wp));
 /* vim: set ft=c : */
diff --git a/src/version.c b/src/version.c
index 884b5c6..f6d3840 100644
--- a/src/version.c
+++ b/src/version.c
@@ -729,6 +729,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    938,
+/**/
     937,
 /**/
     936,
diff --git a/src/window.c b/src/window.c
index 4616c80..0354714 100644
--- a/src/window.c
+++ b/src/window.c
@@ -6731,3 +6731,20 @@
     return cur;
 }
 #endif
+
+#if defined(FEAT_PYTHON) || defined(FEAT_PYTHON3) || defined(PROTO)
+    int
+get_win_number(win_T *wp)
+{
+    int		i = 1;
+    win_T	*w;
+
+    for (w = firstwin; w != NULL && w != wp; w = W_NEXT(w))
+	++i;
+
+    if (w == NULL)
+	return 0;
+    else
+	return i;
+}
+#endif
