diff --git a/src/testdir/test_alot.vim b/src/testdir/test_alot.vim
index 6bfd81e..d8d460a 100644
--- a/src/testdir/test_alot.vim
+++ b/src/testdir/test_alot.vim
@@ -32,3 +32,4 @@
 source test_timers.vim
 source test_undolevels.vim
 source test_unlet.vim
+source test_window_cmd.vim
diff --git a/src/testdir/test_window_cmd.vim b/src/testdir/test_window_cmd.vim
new file mode 100644
index 0000000..d2e4272
--- /dev/null
+++ b/src/testdir/test_window_cmd.vim
@@ -0,0 +1,37 @@
+" Tests for window cmd (:wincmd, :split, :vsplit, :resize and etc...)
+
+func Test_window_cmd_ls0_with_split()
+  set ls=0
+  set splitbelow
+  split
+  quit
+  call assert_equal(0, &lines - &cmdheight - winheight(0))
+  new | only!
+  "
+  set splitbelow&vim
+  botright split
+  quit
+  call assert_equal(0, &lines - &cmdheight - winheight(0))
+  new | only!
+  set ls&vim
+endfunc
+
+func Test_window_cmd_cmdwin_with_vsp()
+  let efmt='Expected 0 but got %d (in ls=%d, %s window)'
+  for v in range(0, 2)
+    exec "set ls=" . v
+    vsplit
+    call feedkeys("q:\<CR>")
+    let ac = &lines - (&cmdheight + winheight(0) + !!v)
+    let emsg = printf(efmt, ac, v, 'left')
+    call assert_equal(0, ac, emsg)
+    wincmd w
+    let ac = &lines - (&cmdheight + winheight(0) + !!v)
+    let emsg = printf(efmt, ac, v, 'right')
+    call assert_equal(0, ac, emsg)
+    new | only!
+  endfor
+  set ls&vim
+endfunc
+
+" vim: sw=2 et
diff --git a/src/version.c b/src/version.c
index 417a3aa..166a9de 100644
--- a/src/version.c
+++ b/src/version.c
@@ -754,6 +754,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1835,
+/**/
     1834,
 /**/
     1833,
diff --git a/src/window.c b/src/window.c
index bbd0a52..01da765 100644
--- a/src/window.c
+++ b/src/window.c
@@ -1165,8 +1165,13 @@
 	 * one row for the status line */
 	win_new_height(wp, new_size);
 	if (flags & (WSP_TOP | WSP_BOT))
-	    frame_new_height(curfrp, curfrp->fr_height
-			- (new_size + STATUS_HEIGHT), flags & WSP_TOP, FALSE);
+	{
+	    int new_fr_height = curfrp->fr_height - new_size;
+
+	    if (!((flags & WSP_BOT) && p_ls == 0))
+		new_fr_height -= STATUS_HEIGHT;
+	    frame_new_height(curfrp, new_fr_height, flags & WSP_TOP, FALSE);
+	}
 	else
 	    win_new_height(oldwin, oldwin_height - (new_size + STATUS_HEIGHT));
 	if (before)	/* new window above current one */
@@ -1179,18 +1184,13 @@
 	{
 	    wp->w_winrow = oldwin->w_winrow + oldwin->w_height + STATUS_HEIGHT;
 	    wp->w_status_height = oldwin->w_status_height;
-	    /* Don't set the status_height for oldwin yet, this might break
-	     * frame_fix_height(oldwin), therefore will be set below. */
+	    if (!(flags & WSP_BOT))
+		oldwin->w_status_height = STATUS_HEIGHT;
 	}
 	if (flags & WSP_BOT)
 	    frame_add_statusline(curfrp);
 	frame_fix_height(wp);
 	frame_fix_height(oldwin);
-
-	if (!before)
-	    /* new window above current one, set the status_height after
-	     * frame_fix_height(oldwin) */
-	    oldwin->w_status_height = STATUS_HEIGHT;
     }
 
     if (flags & (WSP_TOP | WSP_BOT))
