diff --git a/src/ex_getln.c b/src/ex_getln.c
index becfa00..9f7dad9 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -3438,7 +3438,7 @@
 	cmdline_row = Rows - 1;
     else
 	cmdline_row = W_WINROW(lastwin) + lastwin->w_height
-						   + W_STATUS_HEIGHT(lastwin);
+						    + lastwin->w_status_height;
 }
 
     static void
diff --git a/src/gui.c b/src/gui.c
index a17c571..fe91062 100644
--- a/src/gui.c
+++ b/src/gui.c
@@ -4910,10 +4910,10 @@
     }
     else if (row > wp->w_height)	/* below status line */
 	update_mouseshape(SHAPE_IDX_CLINE);
-    else if (!(State & CMDLINE) && W_VSEP_WIDTH(wp) > 0 && col == wp->w_width
+    else if (!(State & CMDLINE) && wp->w_vsep_width > 0 && col == wp->w_width
 	    && (row != wp->w_height || !stl_connected(wp)) && msg_scrolled == 0)
 	update_mouseshape(SHAPE_IDX_VSEP);
-    else if (!(State & CMDLINE) && W_STATUS_HEIGHT(wp) > 0
+    else if (!(State & CMDLINE) && wp->w_status_height > 0
 				  && row == wp->w_height && msg_scrolled == 0)
 	update_mouseshape(SHAPE_IDX_STATUS);
     else
diff --git a/src/screen.c b/src/screen.c
index 13b6a06..e505d94 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -622,8 +622,8 @@
 		    else
 		    {
 			wp->w_redr_type = NOT_VALID;
-			if (W_WINROW(wp) + wp->w_height + W_STATUS_HEIGHT(wp)
-				<= msg_scrolled)
+			if (W_WINROW(wp) + wp->w_height + wp->w_status_height
+							       <= msg_scrolled)
 			    wp->w_redr_status = TRUE;
 		    }
 		}
@@ -9490,7 +9490,7 @@
     {
 	wp->w_redr_status = TRUE;
 	redraw_cmdline = TRUE;
-	nextrow = W_WINROW(wp) + wp->w_height + W_STATUS_HEIGHT(wp);
+	nextrow = W_WINROW(wp) + wp->w_height + wp->w_status_height;
 	lastrow = nextrow + line_count;
 	if (lastrow > Rows)
 	    lastrow = Rows;
diff --git a/src/structs.h b/src/structs.h
index 946857b..7b0f70c 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -2702,8 +2702,8 @@
     int		w_status_height;    /* number of status lines (0 or 1) */
     int		w_wincol;	    /* Leftmost column of window in screen. */
     int		w_width;	    /* Width of window, excluding separation. */
-    int		w_vsep_width;	    /* Number of separator columns (0 or 1).
-				       use W_VSEP_WIDTH() */
+    int		w_vsep_width;	    /* Number of separator columns (0 or 1). */
+
     /*
      * === start of cached values ====
      */
diff --git a/src/version.c b/src/version.c
index 14edfe4..1eb93ef 100644
--- a/src/version.c
+++ b/src/version.c
@@ -762,6 +762,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1143,
+/**/
     1142,
 /**/
     1141,
diff --git a/src/vim.h b/src/vim.h
index 43dbd8c..4567c36 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -860,8 +860,6 @@
 #define FINDFILE_BOTH	2	/* files and directories */
 
 #define W_ENDCOL(wp)	(wp->w_wincol + wp->w_width)
-#define W_VSEP_WIDTH(wp) (wp->w_vsep_width)
-#define W_STATUS_HEIGHT(wp) (wp->w_status_height)
 #ifdef FEAT_MENU
 # define W_WINROW(wp)	(wp->w_winrow + wp->w_winbar_height)
 #else
