diff --git a/src/eval.c b/src/eval.c
index 2a7a090..4825e8b 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -13566,11 +13566,18 @@
 
     for (wp = (tp == NULL || tp == curtab) ? firstwin : tp->tp_firstwin;
 						  wp != NULL; wp = wp->w_next)
-	if (--nr <= 0)
+	if (nr >= LOWEST_WIN_ID)
+	{
+	    if (wp->w_id == nr)
+		return wp;
+	}
+	else if (--nr <= 0)
 	    break;
+    if (nr >= LOWEST_WIN_ID)
+	return NULL;
     return wp;
 #else
-    if (nr == 0 || nr == 1)
+    if (nr == 0 || nr == 1 || nr == curwin->w_id)
 	return curwin;
     return NULL;
 #endif
diff --git a/src/testdir/test_window_id.vim b/src/testdir/test_window_id.vim
index fa3ebd7..66656e1 100644
--- a/src/testdir/test_window_id.vim
+++ b/src/testdir/test_window_id.vim
@@ -3,17 +3,22 @@
 func Test_win_getid()
   edit one
   let id1 = win_getid()
+  let w:one = 'one'
   split two
   let id2 = win_getid()
   let bufnr2 = bufnr('%')
+  let w:two = 'two'
   split three
   let id3 = win_getid()
+  let w:three = 'three'
   tabnew
   edit four
   let id4 = win_getid()
+  let w:four = 'four'
   split five
   let id5 = win_getid()
   let bufnr5 = bufnr('%')
+  let w:five = 'five'
   tabnext
 
   wincmd w
@@ -28,6 +33,9 @@
   call assert_equal("three", expand("%"))
   call assert_equal(id3, win_getid())
   let nr3 = winnr()
+  call assert_equal('one', getwinvar(id1, 'one'))
+  call assert_equal('two', getwinvar(id2, 'two'))
+  call assert_equal('three', getwinvar(id3, 'three'))
   tabnext
   call assert_equal("five", expand("%"))
   call assert_equal(id5, win_getid())
@@ -36,7 +44,14 @@
   call assert_equal("four", expand("%"))
   call assert_equal(id4, win_getid())
   let nr4 = winnr()
+  call assert_equal('four', getwinvar(id4, 'four'))
+  call assert_equal('five', getwinvar(id5, 'five'))
+  call settabwinvar(1, id2, 'two', '2')
+  call setwinvar(id4, 'four', '4')
   tabnext
+  call assert_equal('4', gettabwinvar(2, id4, 'four'))
+  call assert_equal('five', gettabwinvar(2, id5, 'five'))
+  call assert_equal('2', getwinvar(id2, 'two'))
 
   exe nr1 . "wincmd w"
   call assert_equal(id1, win_getid())
diff --git a/src/version.c b/src/version.c
index b83cb33..1e7c2f2 100644
--- a/src/version.c
+++ b/src/version.c
@@ -754,6 +754,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1895,
+/**/
     1894,
 /**/
     1893,
diff --git a/src/vim.h b/src/vim.h
index fb991dc..d573cea 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -2334,4 +2334,7 @@
 #define DIP_OPT	    0x10	/* also use "opt" directory in 'packpath' */
 #define DIP_NORTP   0x20	/* do not use 'runtimepath' */
 
+/* Lowest number used for window ID. Cannot have this many windows. */
+#define LOWEST_WIN_ID 1000
+
 #endif /* VIM__H */
diff --git a/src/window.c b/src/window.c
index 01da765..2dc2554 100644
--- a/src/window.c
+++ b/src/window.c
@@ -4422,7 +4422,7 @@
 }
 #endif
 
-static int last_win_id = 0;
+static int last_win_id = LOWEST_WIN_ID - 1;
 
 /*
  * Allocate a window structure and link it in the window list when "hidden" is
