patch 7.4.834
Problem:    gettabvar() doesn't work after Vim start. (Szymon Wrozynski)
Solution:   Handle first window in tab still being NULL. (Christian Brabandt)
diff --git a/src/eval.c b/src/eval.c
index fe0a66a..e2f40f0 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -12291,7 +12291,8 @@
     {
 	/* Set tp to be our tabpage, temporarily.  Also set the window to the
 	 * first window in the tabpage, otherwise the window is not valid. */
-	if (switch_win(&oldcurwin, &oldtabpage, tp->tp_firstwin, tp, TRUE)
+	if (switch_win(&oldcurwin, &oldtabpage,
+		    tp->tp_firstwin == NULL ? firstwin : tp->tp_firstwin, tp, TRUE)
 									== OK)
 	{
 	    /* look up the variable */
diff --git a/src/testdir/test91.in b/src/testdir/test91.in
index b66776b..e1365cb 100644
--- a/src/testdir/test91.in
+++ b/src/testdir/test91.in
@@ -5,8 +5,12 @@
 :so small.vim
 :so mbyte.vim
 :"
-:" Test for getbufvar()
 :" Use strings to test for memory leaks.
+:" First, check that in an empty window, gettabvar() returns the correct value
+:let t:testvar='abcd'
+:$put =string(gettabvar(1,'testvar'))
+:$put =string(gettabvar(1,'testvar'))
+:" Test for getbufvar()
 :let b:var_num = '1234'
 :let def_num = '5678'
 :$put =string(getbufvar(1, 'var_num'))
diff --git a/src/testdir/test91.ok b/src/testdir/test91.ok
index 809952b..62adec1 100644
--- a/src/testdir/test91.ok
+++ b/src/testdir/test91.ok
@@ -1,4 +1,6 @@
 start:
+'abcd'
+'abcd'
 '1234'
 '1234'
 {'var_num': '1234'}
diff --git a/src/version.c b/src/version.c
index 0319edb..3e46e0f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    834,
+/**/
     833,
 /**/
     832,