diff --git a/src/charset.c b/src/charset.c
index 1c7f7d7..03ef3fd 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -1319,6 +1319,9 @@
 	vcol -= wp->w_virtcol_first_char;
 #endif
 	colnr_T	wcol = vcol + col_off_prev;
+	colnr_T	max_head_vcol = cts->cts_max_head_vcol;
+	int	added = 0;
+
 	// cells taken by 'showbreak'/'breakindent' before current char
 	int	head_prev = 0;
 	if (wcol >= wp->w_width)
@@ -1332,23 +1335,18 @@
 	    if (wp->w_p_bri)
 		head_prev += get_breakindent_win(wp, line);
 	    if (wcol < head_prev)
-		wcol = head_prev;
-	    wcol += col_off_prev;
-	}
-
-	if ((vcol > 0 && wcol == col_off_prev + head_prev)
-						  || wcol + size > wp->w_width)
-	{
-	    int added = 0;
-	    colnr_T max_head_vcol = cts->cts_max_head_vcol;
-
-	    if (vcol > 0 && wcol == col_off_prev + head_prev)
 	    {
+		head_prev -= wcol;
+		wcol += head_prev;
 		added += head_prev;
 		if (max_head_vcol <= 0 || vcol < max_head_vcol)
 		    head += head_prev;
 	    }
+	    wcol += col_off_prev;
+	}
 
+	if (wcol + size > wp->w_width)
+	{
 	    // cells taken by 'showbreak'/'breakindent' halfway current char
 	    int	head_mid = 0;
 	    if (*sbr != NUL)
@@ -1384,9 +1382,9 @@
 		}
 #endif
 	    }
-
-	    size += added;
 	}
+
+	size += added;
     }
     if (headp != NULL)
 	*headp = head;
