diff --git a/src/charset.c b/src/charset.c
index 3cba7a5..3495a0e 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -1159,6 +1159,9 @@
     size = win_chartabsize(wp, s, vcol);
     if (*s == NUL && !has_lcs_eol)
 	size = 0;  // NUL is not displayed
+# ifdef FEAT_LINEBREAK
+    int is_doublewidth = has_mbyte && size == 2 && MB_BYTE2LEN(*s) > 1;
+# endif
 
 # ifdef FEAT_PROP_POPUP
     if (cts->cts_has_prop_with_text)
@@ -1242,8 +1245,7 @@
 # endif
 
 # ifdef FEAT_LINEBREAK
-    if (has_mbyte && size == 2 && MB_BYTE2LEN(*s) > 1
-				   && wp->w_p_wrap && in_win_border(wp, vcol))
+    if (is_doublewidth && wp->w_p_wrap && in_win_border(wp, vcol + size - 2))
     {
 	++size;		// Count the ">" in the last column.
 	mb_added = 1;
diff --git a/src/testdir/dumps/Test_prop_inserts_text_before_double_width_wrap_1.dump b/src/testdir/dumps/Test_prop_inserts_text_before_double_width_wrap_1.dump
new file mode 100644
index 0000000..6bf28c3
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_inserts_text_before_double_width_wrap_1.dump
@@ -0,0 +1,3 @@
+|a+0&#ffffff0@39|b+0#e000e06&@8|>+0#4040ff13&
+|口*0#0000000&|1+&|2|3|4>5| @42
+@32|1|,|4|8|-|5|7| @6|A|l@1| 
diff --git a/src/testdir/test_textprop.vim b/src/testdir/test_textprop.vim
index 030955b..c006912 100644
--- a/src/testdir/test_textprop.vim
+++ b/src/testdir/test_textprop.vim
@@ -2810,6 +2810,22 @@
   call StopVimInTerminal(buf)
 endfunc
 
+func Test_prop_inserts_text_before_double_width_wrap()
+  CheckRunVimInTerminal
+
+  let lines =<< trim END
+    call setline(1, repeat('a', 40) .. '口' .. '12345')
+    call prop_type_add('theprop', #{highlight: 'Special'})
+    call prop_add(1, 41, #{type: 'theprop', text: repeat('b', 9)})
+    normal! $
+  END
+  call writefile(lines, 'XscriptPropsBeforeDoubleWidthWrap', 'D')
+  let buf = RunVimInTerminal('-S XscriptPropsBeforeDoubleWidthWrap', #{rows: 3, cols: 50})
+  call VerifyScreenDump(buf, 'Test_prop_inserts_text_before_double_width_wrap_1', {})
+
+  call StopVimInTerminal(buf)
+endfunc
+
 func Test_prop_inserts_text_lcs_extends()
   CheckRunVimInTerminal
 
diff --git a/src/version.c b/src/version.c
index ea94b20..1ab29e8 100644
--- a/src/version.c
+++ b/src/version.c
@@ -700,6 +700,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1828,
+/**/
     1827,
 /**/
     1826,
