diff --git a/src/option.c b/src/option.c
index f928b3b..855539b 100644
--- a/src/option.c
+++ b/src/option.c
@@ -3097,6 +3097,9 @@
 static int opt_strings_flags __ARGS((char_u *val, char **values, unsigned *flagp, int list));
 static int check_opt_strings __ARGS((char_u *val, char **values, int));
 static int check_opt_wim __ARGS((void));
+#ifdef FEAT_LINEBREAK
+static int briopt_check __ARGS((win_T *wp));
+#endif
 
 /*
  * Initialize the options, first part.
@@ -5289,7 +5292,7 @@
     (void)check_cedit();
 #endif
 #ifdef FEAT_LINEBREAK
-    briopt_check();
+    briopt_check(curwin);
 #endif
 }
 
@@ -5748,7 +5751,7 @@
     /* 'breakindentopt' */
     else if (varp == &curwin->w_p_briopt)
     {
-	if (briopt_check() == FAIL)
+	if (briopt_check(curwin) == FAIL)
 	    errmsg = e_invarg;
     }
 #endif
@@ -10232,6 +10235,9 @@
     wp_to->w_farsi = wp_from->w_farsi;
 #  endif
 # endif
+#if defined(FEAT_LINEBREAK)
+    briopt_check(wp_to);
+#endif
 }
 #endif
 
@@ -12002,15 +12008,16 @@
  * This is called when 'breakindentopt' is changed and when a window is
  * initialized.
  */
-    int
-briopt_check()
+    static int
+briopt_check(wp)
+    win_T *wp;
 {
     char_u	*p;
     int		bri_shift = 0;
     long	bri_min = 20;
     int		bri_sbr = FALSE;
 
-    p = curwin->w_p_briopt;
+    p = wp->w_p_briopt;
     while (*p != NUL)
     {
 	if (STRNCMP(p, "shift:", 6) == 0
@@ -12035,9 +12042,9 @@
 	    ++p;
     }
 
-    curwin->w_p_brishift = bri_shift;
-    curwin->w_p_brimin   = bri_min;
-    curwin->w_p_brisbr   = bri_sbr;
+    wp->w_p_brishift = bri_shift;
+    wp->w_p_brimin   = bri_min;
+    wp->w_p_brisbr   = bri_sbr;
 
     return OK;
 }
diff --git a/src/proto/option.pro b/src/proto/option.pro
index e426e6c..3da74e6 100644
--- a/src/proto/option.pro
+++ b/src/proto/option.pro
@@ -62,5 +62,4 @@
 long get_sw_value __ARGS((buf_T *buf));
 long get_sts_value __ARGS((void));
 void find_mps_values __ARGS((int *initc, int *findc, int *backwards, int switchit));
-int briopt_check __ARGS((void));
 /* vim: set ft=c : */
diff --git a/src/testdir/test_breakindent.in b/src/testdir/test_breakindent.in
index 79e25f7..150c943 100644
--- a/src/testdir/test_breakindent.in
+++ b/src/testdir/test_breakindent.in
@@ -27,6 +27,7 @@
 :	$put =g:line1
 :	wincmd p
 :endfu
+:set briopt=min:0
 :let g:test="Test 1: Simple breakindent"
 :let line1=ScreenChar(8)
 :call DoRecordScreen()
diff --git a/src/version.c b/src/version.c
index 01b9082..ee2598d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    417,
+/**/
     416,
 /**/
     415,
