diff --git a/src/evalfunc.c b/src/evalfunc.c
index a19f706..632b982 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -4613,16 +4613,21 @@
 {
     win_T	*wp = NULL;
     char_u	*cwd;
+    int		global = FALSE;
 
     rettv->v_type = VAR_STRING;
     rettv->vval.v_string = NULL;
 
-    wp = find_tabwin(&argvars[0], &argvars[1]);
-    if (wp != NULL)
+    if (argvars[0].v_type == VAR_NUMBER && argvars[0].vval.v_number == -1)
+	global = TRUE;
+    else
+	wp = find_tabwin(&argvars[0], &argvars[1]);
+
+    if (wp != NULL && wp->w_localdir != NULL)
+	rettv->vval.v_string = vim_strsave(wp->w_localdir);
+    else if (wp != NULL || global)
     {
-	if (wp->w_localdir != NULL)
-	    rettv->vval.v_string = vim_strsave(wp->w_localdir);
-	else if (globaldir != NULL)
+	if (globaldir != NULL)
 	    rettv->vval.v_string = vim_strsave(globaldir);
 	else
 	{
diff --git a/src/testdir/test_getcwd.vim b/src/testdir/test_getcwd.vim
index 15eab2a..334b890 100644
--- a/src/testdir/test_getcwd.vim
+++ b/src/testdir/test_getcwd.vim
@@ -37,6 +37,7 @@
 	new
 	call mkdir('Xtopdir')
 	cd Xtopdir
+	let g:topdir = getcwd()
 	call mkdir('Xdir1')
 	call mkdir('Xdir2')
 	call mkdir('Xdir3')
@@ -56,36 +57,44 @@
 	3wincmd w
 	lcd Xdir1
 	call assert_equal("a Xdir1 1", GetCwdInfo(0, 0))
+	call assert_equal(g:topdir, getcwd(-1))
 	wincmd W
 	call assert_equal("b Xtopdir 0", GetCwdInfo(0, 0))
+	call assert_equal(g:topdir, getcwd(-1))
 	wincmd W
 	lcd Xdir3
 	call assert_equal("c Xdir3 1", GetCwdInfo(0, 0))
 	call assert_equal("a Xdir1 1", GetCwdInfo(bufwinnr("a"), 0))
 	call assert_equal("b Xtopdir 0", GetCwdInfo(bufwinnr("b"), 0))
 	call assert_equal("c Xdir3 1", GetCwdInfo(bufwinnr("c"), 0))
+	call assert_equal(g:topdir, getcwd(-1))
 	wincmd W
 	call assert_equal("a Xdir1 1", GetCwdInfo(bufwinnr("a"), tabpagenr()))
 	call assert_equal("b Xtopdir 0", GetCwdInfo(bufwinnr("b"), tabpagenr()))
 	call assert_equal("c Xdir3 1", GetCwdInfo(bufwinnr("c"), tabpagenr()))
+	call assert_equal(g:topdir, getcwd(-1))
 
 	tabnew x
 	new y
 	new z
 	3wincmd w
 	call assert_equal("x Xtopdir 0", GetCwdInfo(0, 0))
+	call assert_equal(g:topdir, getcwd(-1))
 	wincmd W
 	lcd Xdir2
 	call assert_equal("y Xdir2 1", GetCwdInfo(0, 0))
+	call assert_equal(g:topdir, getcwd(-1))
 	wincmd W
 	lcd Xdir3
 	call assert_equal("z Xdir3 1", GetCwdInfo(0, 0))
 	call assert_equal("x Xtopdir 0", GetCwdInfo(bufwinnr("x"), 0))
 	call assert_equal("y Xdir2 1", GetCwdInfo(bufwinnr("y"), 0))
 	call assert_equal("z Xdir3 1", GetCwdInfo(bufwinnr("z"), 0))
+	call assert_equal(g:topdir, getcwd(-1))
 	let tp_nr = tabpagenr()
 	tabrewind
 	call assert_equal("x Xtopdir 0", GetCwdInfo(3, tp_nr))
 	call assert_equal("y Xdir2 1", GetCwdInfo(2, tp_nr))
 	call assert_equal("z Xdir3 1", GetCwdInfo(1, tp_nr))
+	call assert_equal(g:topdir, getcwd(-1))
 endfunc
diff --git a/src/version.c b/src/version.c
index eb0c02a..ccc1066 100644
--- a/src/version.c
+++ b/src/version.c
@@ -772,6 +772,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1489,
+/**/
     1488,
 /**/
     1487,
