diff --git a/7.0.174 b/7.0.174
new file mode 100644
index 0000000..2c4904e
--- /dev/null
+++ b/7.0.174
@@ -0,0 +1,95 @@
+To: vim-dev@vim.org
+Subject: Patch 7.0.174
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.0.174
+Problem:    ":mksession" doesn't restore window layout correctly in tab pages
+	    other than the current one. (Zhibin He)
+Solution:   Use the correct topframe for producing the window layout commands.
+Files:	    src/ex_docmd.c
+
+
+*** ../vim-7.0.173/src/ex_docmd.c	Tue Nov 14 20:24:32 2006
+--- src/ex_docmd.c	Tue Nov 28 21:32:41 2006
+***************
+*** 9675,9680 ****
+--- 9675,9681 ----
+      win_T	*edited_win = NULL;
+      int		tabnr;
+      win_T	*tab_firstwin;
++     frame_T	*tab_topframe;
+  
+      if (ssop_flags & SSOP_BUFFERS)
+  	only_save_windows = FALSE;		/* Save ALL buffers */
+***************
+*** 9786,9791 ****
+--- 9787,9793 ----
+       * autocommands.
+       */
+      tab_firstwin = firstwin;	/* first window in tab page "tabnr" */
++     tab_topframe = topframe;
+      for (tabnr = 1; ; ++tabnr)
+      {
+  	int  need_tabnew = FALSE;
+***************
+*** 9797,9805 ****
+--- 9799,9813 ----
+  	    if (tp == NULL)
+  		break;		/* done all tab pages */
+  	    if (tp == curtab)
++ 	    {
+  		tab_firstwin = firstwin;
++ 		tab_topframe = topframe;
++ 	    }
+  	    else
++ 	    {
+  		tab_firstwin = tp->tp_firstwin;
++ 		tab_topframe = tp->tp_topframe;
++ 	    }
+  	    if (tabnr > 1)
+  		need_tabnew = TRUE;
+  	}
+***************
+*** 9838,9844 ****
+  	 */
+  	if (put_line(fd, "set splitbelow splitright") == FAIL)
+  	    return FAIL;
+! 	if (ses_win_rec(fd, topframe) == FAIL)
+  	    return FAIL;
+  	if (!p_sb && put_line(fd, "set nosplitbelow") == FAIL)
+  	    return FAIL;
+--- 9846,9852 ----
+  	 */
+  	if (put_line(fd, "set splitbelow splitright") == FAIL)
+  	    return FAIL;
+! 	if (ses_win_rec(fd, tab_topframe) == FAIL)
+  	    return FAIL;
+  	if (!p_sb && put_line(fd, "set nosplitbelow") == FAIL)
+  	    return FAIL;
+*** ../vim-7.0.173/src/version.c	Tue Nov 28 20:54:32 2006
+--- src/version.c	Tue Nov 28 21:40:07 2006
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     174,
+  /**/
+
+-- 
+ARTHUR:    Well, it doesn't matter.  Will you go and tell your master that
+           Arthur from the Court of Camelot is here.
+GUARD #1:  Listen, in order to maintain air-speed velocity, a swallow
+           needs to beat its wings 43 times every second, right?
+ARTHUR:    Please!
+                                  The Quest for the Holy Grail (Monty Python)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///