updated for version 7.0-216
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 1152a18..71a7fa1 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -7980,8 +7980,10 @@
     {
 	/* Pass flags on for ":vertical wincmd ]". */
 	postponed_split_flags = cmdmod.split;
+	postponed_split_tab = cmdmod.tab;
 	do_window(*eap->arg, eap->addr_count > 0 ? eap->line2 : 0L, xchar);
 	postponed_split_flags = 0;
+	postponed_split_tab = 0;
     }
 }
 #endif
@@ -9189,8 +9191,10 @@
 {
     postponed_split = -1;
     postponed_split_flags = cmdmod.split;
+    postponed_split_tab = cmdmod.tab;
     ex_tag_cmd(eap, cmdnames[eap->cmdidx].cmd_name + 1);
     postponed_split_flags = 0;
+    postponed_split_tab = 0;
 }
 #endif
 
diff --git a/src/globals.h b/src/globals.h
index 54785a4..0493e8b 100644
--- a/src/globals.h
+++ b/src/globals.h
@@ -1030,6 +1030,7 @@
 #ifdef FEAT_WINDOWS
 EXTERN int	postponed_split INIT(= 0);  /* for CTRL-W CTRL-] command */
 EXTERN int	postponed_split_flags INIT(= 0);  /* args for win_split() */
+EXTERN int	postponed_split_tab INIT(= 0);  /* cmdmod.tab */
 # ifdef FEAT_QUICKFIX
 EXTERN int	g_do_tagpreview INIT(= 0);  /* for tag preview commands:
 					       height of preview window */
diff --git a/src/if_cscope.c b/src/if_cscope.c
index fd83139..3e43016 100644
--- a/src/if_cscope.c
+++ b/src/if_cscope.c
@@ -128,6 +128,7 @@
 	}
 	postponed_split = -1;
 	postponed_split_flags = cmdmod.split;
+	postponed_split_tab = cmdmod.tab;
     }
 #endif
 
@@ -135,6 +136,7 @@
 
 #ifdef FEAT_WINDOWS
     postponed_split_flags = 0;
+    postponed_split_tab = 0;
 #endif
 }
 
diff --git a/src/version.c b/src/version.c
index d577c50..1517d0a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -667,6 +667,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    216,
+/**/
     215,
 /**/
     214,
diff --git a/src/window.c b/src/window.c
index aa4d26a..40aa2f0 100644
--- a/src/window.c
+++ b/src/window.c
@@ -3290,11 +3290,12 @@
     int
 may_open_tabpage()
 {
-    int		n = cmdmod.tab;
+    int		n = (cmdmod.tab == 0) ? postponed_split_tab : cmdmod.tab;
 
-    if (cmdmod.tab != 0)
+    if (n != 0)
     {
 	cmdmod.tab = 0;	    /* reset it to avoid doing it twice */
+	postponed_split_tab = 0;
 	return win_new_tabpage(n);
     }
     return FAIL;