diff --git a/src/drawline.c b/src/drawline.c
index b581411..9f943e0 100644
--- a/src/drawline.c
+++ b/src/drawline.c
@@ -1140,11 +1140,11 @@
 	    }
 
 #ifdef FEAT_LINEBREAK
-	    if (wp->w_p_brisbr && draw_state == WL_BRI - 1
+	    if (wp->w_briopt_sbr && draw_state == WL_BRI - 1
 			    && n_extra == 0 && *get_showbreak_value(wp) != NUL)
 		// draw indent after showbreak value
 		draw_state = WL_BRI;
-	    else if (wp->w_p_brisbr && draw_state == WL_SBR && n_extra == 0)
+	    else if (wp->w_briopt_sbr && draw_state == WL_SBR && n_extra == 0)
 		// After the showbreak, draw the breakindent
 		draw_state = WL_BRI - 1;
 
@@ -1176,7 +1176,7 @@
 		    c_final = NUL;
 		    n_extra = get_breakindent_win(wp,
 				       ml_get_buf(wp->w_buffer, lnum, FALSE));
-		    if (wp->w_skipcol > 0 && wp->w_p_wrap && wp->w_p_brisbr)
+		    if (wp->w_skipcol > 0 && wp->w_p_wrap && wp->w_briopt_sbr)
 			need_showbreak = FALSE;
 		    // Correct end of highlighted area for 'breakindent',
 		    // required when 'linebreak' is also set.
diff --git a/src/indent.c b/src/indent.c
index 1662292..10c82d8 100644
--- a/src/indent.c
+++ b/src/indent.c
@@ -875,9 +875,9 @@
 	    ++p;
     }
 
-    wp->w_p_brishift = bri_shift;
-    wp->w_p_brimin   = bri_min;
-    wp->w_p_brisbr   = bri_sbr;
+    wp->w_briopt_shift = bri_shift;
+    wp->w_briopt_min   = bri_min;
+    wp->w_briopt_sbr   = bri_sbr;
 
     return OK;
 }
@@ -927,10 +927,10 @@
 				     (int)wp->w_buffer->b_p_ts, wp->w_p_list);
 # endif
     }
-    bri = prev_indent + wp->w_p_brishift;
+    bri = prev_indent + wp->w_briopt_shift;
 
     // indent minus the length of the showbreak string
-    if (wp->w_p_brisbr)
+    if (wp->w_briopt_sbr)
 	bri -= vim_strsize(get_showbreak_value(wp));
 
     // Add offset for number column, if 'n' is in 'cpoptions'
@@ -941,9 +941,9 @@
 	bri = 0;
     // always leave at least bri_min characters on the left,
     // if text width is sufficient
-    else if (bri > eff_wwidth - wp->w_p_brimin)
-	bri = (eff_wwidth - wp->w_p_brimin < 0)
-			    ? 0 : eff_wwidth - wp->w_p_brimin;
+    else if (bri > eff_wwidth - wp->w_briopt_min)
+	bri = (eff_wwidth - wp->w_briopt_min < 0)
+					   ? 0 : eff_wwidth - wp->w_briopt_min;
 
     return bri;
 }
diff --git a/src/structs.h b/src/structs.h
index 4b70641..7830e64 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -3341,14 +3341,15 @@
     int		*w_p_cc_cols;	    // array of columns to highlight or NULL
     char_u	w_p_culopt_flags;   // flags for cursorline highlighting
 #endif
-#ifdef FEAT_LINEBREAK
-    int		w_p_brimin;	    // minimum width for breakindent
-    int		w_p_brishift;	    // additional shift for breakindent
-    int		w_p_brisbr;	    // sbr in 'briopt'
-#endif
     long	w_p_siso;	    // 'sidescrolloff' local value
     long	w_p_so;		    // 'scrolloff' local value
 
+#ifdef FEAT_LINEBREAK
+    int		w_briopt_min;	    // minimum width for breakindent
+    int		w_briopt_shift;	    // additional shift for breakindent
+    int		w_briopt_sbr;	    // sbr in 'briopt'
+#endif
+
     // transform a pointer to a "onebuf" option into a "allbuf" option
 #define GLOBAL_WO(p)	((char *)p + sizeof(winopt_T))
 
diff --git a/src/version.c b/src/version.c
index db00344..b8e47fc 100644
--- a/src/version.c
+++ b/src/version.c
@@ -739,6 +739,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    309,
+/**/
     308,
 /**/
     307,
