diff --git a/src/charset.c b/src/charset.c
index 971fefc..7901479 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -1358,13 +1358,13 @@
 		head_mid += get_breakindent_win(wp, line);
 	    if (head_mid > 0 && wcol + size > wp->w_width)
 	    {
-		// calculate effective window width
+		// Calculate effective window width.
 		int prev_rem = wp->w_width - wcol;
 		int width = width2 - head_mid;
 
 		if (width <= 0)
 		    width = 1;
-		// divide "size - prev_width" by "width", rounding up
+		// Divide "size - prev_rem" by "width", rounding up.
 		int cnt = (size - prev_rem + width - 1) / width;
 		added += cnt * head_mid;
 
diff --git a/src/drawline.c b/src/drawline.c
index 12ac740..5b5fbf2 100644
--- a/src/drawline.c
+++ b/src/drawline.c
@@ -3733,7 +3733,11 @@
 		&& (*ptr != NUL
 		    || lcs_eol_one > 0
 		    || (wlv.n_extra > 0 && (wlv.c_extra != NUL
-						     || *wlv.p_extra != NUL))))
+						     || *wlv.p_extra != NUL))
+#ifdef FEAT_PROP_POPUP
+		    || text_prop_next < text_prop_count
+#endif
+		   ))
 	{
 	    c = wp->w_lcs_chars.ext;
 	    wlv.char_attr = hl_combine_attr(wlv.win_attr, HL_ATTR(HLF_AT));
@@ -4014,6 +4018,7 @@
 #endif
 #ifdef FEAT_PROP_POPUP
 		    || text_prop_above || text_prop_follows
+		    || text_prop_next < text_prop_count
 #endif
 		    || (wp->w_p_list && wp->w_lcs_chars.eol != NUL
 						&& wlv.p_extra != at_end_str)
diff --git a/src/move.c b/src/move.c
index 26a66c1..9c025d4 100644
--- a/src/move.c
+++ b/src/move.c
@@ -1205,17 +1205,6 @@
 	    n = (curwin->w_wcol - curwin->w_width) / width2 + 1;
 	    curwin->w_wcol -= n * width2;
 	    curwin->w_wrow += n;
-
-#ifdef FEAT_LINEBREAK
-	    // When cursor wraps to first char of next line in Insert
-	    // mode, the 'showbreak' string isn't shown, backup to first
-	    // column
-	    char_u *sbr = get_showbreak_value(curwin);
-	    if (*sbr && *ml_get_cursor() == NUL
-		    && curwin->w_wcol
-			      == (curwin->w_width - width2) + vim_strsize(sbr))
-		curwin->w_wcol = 0;
-#endif
 	}
     }
 
diff --git a/src/testdir/dumps/Test_cursor_position_with_showbreak_3.dump b/src/testdir/dumps/Test_cursor_position_with_showbreak_3.dump
new file mode 100644
index 0000000..4eca369
--- /dev/null
+++ b/src/testdir/dumps/Test_cursor_position_with_showbreak_3.dump
@@ -0,0 +1,6 @@
+| +0#0000e05#a8a8a8255@1|x+0#0000000#ffffff0@71|X
+| +0#0000e05#a8a8a8255@1|++0#4040ff13#ffffff0>$| +0#0000000&@70
+| +0#0000e05#a8a8a8255@1|s+0#0000000#ffffff0|e|c|o|n|d| |l|i|n|e|$+0#4040ff13&| +0#0000000&@60
+|~+0#4040ff13&| @73
+|~| @73
+|-+2#0000000&@1| |I|N|S|E|R|T| |-@1| +0&&@44|1|,|7|4| @9|A|l@1| 
diff --git a/src/testdir/dumps/Test_prop_inserts_text_lcs_extends_1.dump b/src/testdir/dumps/Test_prop_inserts_text_lcs_extends_1.dump
new file mode 100644
index 0000000..11e61cc
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_inserts_text_lcs_extends_1.dump
@@ -0,0 +1,3 @@
+|a+0&#ffffff0@19>a@28|!+0#4040ff13&
+|~| @48
+| +0#0000000&@31|1|,|2|1| @9|A|l@1| 
diff --git a/src/testdir/dumps/Test_prop_inserts_text_lcs_extends_2.dump b/src/testdir/dumps/Test_prop_inserts_text_lcs_extends_2.dump
new file mode 100644
index 0000000..14d5ec1
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_inserts_text_lcs_extends_2.dump
@@ -0,0 +1,3 @@
+|a+0&#ffffff0@18>a@29|!+0#4040ff13&
+|~| @48
+| +0#0000000&@31|1|,|2|1| @9|A|l@1| 
diff --git a/src/testdir/dumps/Test_prop_inserts_text_lcs_extends_3.dump b/src/testdir/dumps/Test_prop_inserts_text_lcs_extends_3.dump
new file mode 100644
index 0000000..7ff0949
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_inserts_text_lcs_extends_3.dump
@@ -0,0 +1,3 @@
+|a+0&#ffffff0@17>a@30|!+0#4040ff13&
+|~| @48
+| +0#0000000&@31|1|,|2|1| @9|A|l@1| 
diff --git a/src/testdir/dumps/Test_prop_inserts_text_lcs_extends_4.dump b/src/testdir/dumps/Test_prop_inserts_text_lcs_extends_4.dump
new file mode 100644
index 0000000..1a70a75
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_inserts_text_lcs_extends_4.dump
@@ -0,0 +1,3 @@
+|a+0&#ffffff0@16>a@30|b+0#e000e06&|!+0#4040ff13&
+|~| @48
+| +0#0000000&@31|1|,|2|1| @9|A|l@1| 
diff --git a/src/testdir/dumps/Test_prop_inserts_text_lcs_extends_5.dump b/src/testdir/dumps/Test_prop_inserts_text_lcs_extends_5.dump
new file mode 100644
index 0000000..a6683d7
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_inserts_text_lcs_extends_5.dump
@@ -0,0 +1,3 @@
+|a+0&#ffffff0@15>a@30|b+0#e000e06&@2
+|~+0#4040ff13&| @48
+| +0#0000000&@31|1|,|2|1| @9|A|l@1| 
diff --git a/src/testdir/dumps/Test_prop_inserts_text_showbreak_23.dump b/src/testdir/dumps/Test_prop_inserts_text_showbreak_23.dump
new file mode 100644
index 0000000..8577952
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_inserts_text_showbreak_23.dump
@@ -0,0 +1,6 @@
+| +0&#ffffff0@1|1| |a@25
+| @5|++0#4040ff13&>1+0#e000e06&|2|3|1|2|3|1|2|3|1|2|3|1|2|3|1|2|3|1|2|3|1|2
+| +0#0000000&@5|++0#4040ff13&|3+0#e000e06&|1|2|3|1|2|3|1|2|3|1|2|3|1|2|3|1|2|3|1|2|3|1
+| +0#0000000&@5|++0#4040ff13&|2+0#e000e06&|3|1|2|3|1|2|3|1|2|3|1|2|3|1|2|3|1|2|3|1|2|3
+|~+0#4040ff13&| @28
+|-+2#0000000&@1| |I|N|S|E|R|T| |-@1| +0&&@17
diff --git a/src/testdir/dumps/Test_prop_inserts_text_showbreak_24.dump b/src/testdir/dumps/Test_prop_inserts_text_showbreak_24.dump
new file mode 100644
index 0000000..d089cda
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_inserts_text_showbreak_24.dump
@@ -0,0 +1,6 @@
+| +0&#ffffff0@1|1| |a@25
+| @3|++0#4040ff13&>1+0#e000e06&|2|3|1|2|3|1|2|3|1|2|3|1|2|3|1|2|3|1|2|3|1|2|3|1
+| +0#0000000&@3|++0#4040ff13&|2+0#e000e06&|3|1|2|3|1|2|3|1|2|3|1|2|3|1|2|3|1|2|3|1|2|3|1|2
+| +0#0000000&@3|++0#4040ff13&|3+0#e000e06&|1|2|3|1|2|3|1|2|3|1|2|3|1|2|3|1|2|3| +0#0000000&@5
+|~+0#4040ff13&| @28
+|-+2#0000000&@1| |I|N|S|E|R|T| |-@1| +0&&@17
diff --git a/src/testdir/test_breakindent.vim b/src/testdir/test_breakindent.vim
index 2bc85a3..3c4d0f1 100644
--- a/src/testdir/test_breakindent.vim
+++ b/src/testdir/test_breakindent.vim
@@ -898,7 +898,6 @@
       vim9script
       &signcolumn = 'yes'
       &showbreak = '++'
-      &breakindent = true
       &breakindentopt = 'shift:2'
       var leftcol: number = win_getid()->getwininfo()->get(0, {})->get('textoff')
       repeat('x', &columns - leftcol - 1)->setline(1)
@@ -912,9 +911,14 @@
   " No line wraps, so changing 'showbreak' should lead to the same screen.
   call term_sendkeys(buf, "\<C-\>\<C-O>:setlocal showbreak=+\<CR>")
   call VerifyScreenDump(buf, 'Test_cursor_position_with_showbreak_1', {})
+  " No line wraps, so setting 'breakindent' should lead to the same screen.
+  call term_sendkeys(buf, "\<C-\>\<C-O>:setlocal breakindent\<CR>")
+  call VerifyScreenDump(buf, 'Test_cursor_position_with_showbreak_1', {})
   " The first line now wraps because of "eol" in 'listchars'.
   call term_sendkeys(buf, "\<C-\>\<C-O>:setlocal list\<CR>")
   call VerifyScreenDump(buf, 'Test_cursor_position_with_showbreak_2', {})
+  call term_sendkeys(buf, "\<C-\>\<C-O>:setlocal nobreakindent\<CR>")
+  call VerifyScreenDump(buf, 'Test_cursor_position_with_showbreak_3', {})
 
   call StopVimInTerminal(buf)
 endfunc
diff --git a/src/testdir/test_textprop.vim b/src/testdir/test_textprop.vim
index 93baa7a..f258c19 100644
--- a/src/testdir/test_textprop.vim
+++ b/src/testdir/test_textprop.vim
@@ -2686,11 +2686,11 @@
 
   let lines =<< trim END
     highlight! link LineNr Normal
+    setlocal number showbreak=+ breakindent breakindentopt=shift:2
+    setlocal scrolloff=0 smoothscroll
     call setline(1, repeat('a', 28))
     call prop_type_add('theprop', #{highlight: 'Special'})
     call prop_add(1, 28, #{type: 'theprop', text: repeat('123', 23), text_wrap: 'wrap'})
-    setlocal number showbreak=+ breakindent breakindentopt=shift:2
-    setlocal scrolloff=0 smoothscroll
     normal! $
   END
   let lines = insert(lines, a:cmd)
@@ -2740,6 +2740,10 @@
   call VerifyScreenDump(buf, 'Test_prop_inserts_text_showbreak_21', {})
   call term_sendkeys(buf, "zbx")
   call VerifyScreenDump(buf, 'Test_prop_inserts_text_showbreak_22', {})
+  call term_sendkeys(buf, "26ia\<Esc>a")
+  call VerifyScreenDump(buf, 'Test_prop_inserts_text_showbreak_23', {})
+  call term_sendkeys(buf, "\<C-\>\<C-O>:setlocal breakindentopt=\<CR>")
+  call VerifyScreenDump(buf, 'Test_prop_inserts_text_showbreak_24', {})
 
   call StopVimInTerminal(buf)
 endfunc
@@ -2754,10 +2758,10 @@
   CheckRunVimInTerminal
 
   let lines =<< trim END
+    setlocal list listchars=tab:<-> scrolloff=0 smoothscroll
     call setline(1, repeat("\t", 4) .. 'a')
     call prop_type_add('theprop', #{highlight: 'Special'})
     call prop_add(1, 4, #{type: 'theprop', text: repeat('12', 32), text_wrap: 'wrap'})
-    setlocal list listchars=tab:<-> scrolloff=0 smoothscroll
     normal! $
   END
   call writefile(lines, 'XscriptPropsBeforeTabSkipcol', 'D')
@@ -2787,6 +2791,31 @@
   call StopVimInTerminal(buf)
 endfunc
 
+func Test_prop_inserts_text_lcs_extends()
+  CheckRunVimInTerminal
+
+  let lines =<< trim END
+    setlocal nowrap list listchars=extends:!
+    call setline(1, repeat('a', &columns + 1))
+    call prop_type_add('theprop', #{highlight: 'Special'})
+    call prop_add(1, &columns + 2, #{type: 'theprop', text: 'bbb'})
+  END
+  call writefile(lines, 'XscriptPropsListExtends', 'D')
+  let buf = RunVimInTerminal('-S XscriptPropsListExtends', #{rows: 3, cols: 50})
+  call term_sendkeys(buf, '20l')
+  call VerifyScreenDump(buf, 'Test_prop_inserts_text_lcs_extends_1', {})
+  call term_sendkeys(buf, 'zl')
+  call VerifyScreenDump(buf, 'Test_prop_inserts_text_lcs_extends_2', {})
+  call term_sendkeys(buf, 'zl')
+  call VerifyScreenDump(buf, 'Test_prop_inserts_text_lcs_extends_3', {})
+  call term_sendkeys(buf, 'zl')
+  call VerifyScreenDump(buf, 'Test_prop_inserts_text_lcs_extends_4', {})
+  call term_sendkeys(buf, 'zl')
+  call VerifyScreenDump(buf, 'Test_prop_inserts_text_lcs_extends_5', {})
+
+  call StopVimInTerminal(buf)
+endfunc
+
 func Test_prop_add_with_text_fails()
   call prop_type_add('failing', #{highlight: 'ErrorMsg'})
   call assert_fails("call prop_add(1, 0, #{type: 'failing', text: 'X', end_lnum: 1})", 'E1305:')
diff --git a/src/version.c b/src/version.c
index ff07273..e686da6 100644
--- a/src/version.c
+++ b/src/version.c
@@ -700,6 +700,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1800,
+/**/
     1799,
 /**/
     1798,
