diff --git a/src/charset.c b/src/charset.c
index 7901479..1c7f7d7 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -809,7 +809,7 @@
 	cts->cts_vcol += win_lbr_chartabsize(cts, NULL);
 #ifdef FEAT_PROP_POPUP
     // check for a virtual text at the end of a line or on an empty line
-    if (cts->cts_has_prop_with_text && *cts->cts_ptr == NUL)
+    if (len == MAXCOL && cts->cts_has_prop_with_text && *cts->cts_ptr == NUL)
     {
 	(void)win_lbr_chartabsize(cts, NULL);
 	cts->cts_vcol += cts->cts_cur_text_width;
@@ -1196,8 +1196,7 @@
 		       || (tp->tp_col == MAXCOL
 			   && ((tp->tp_flags & TP_FLAG_ALIGN_ABOVE)
 				? col == 0
-				: s[0] == NUL
-						  && cts->cts_with_trailing)))
+				: s[0] == NUL && cts->cts_with_trailing)))
 		    && -tp->tp_id - 1 < gap->ga_len)
 	    {
 		char_u *p = ((char_u **)gap->ga_data)[-tp->tp_id - 1];
diff --git a/src/testdir/dumps/Test_prop_with_text_empty_line_6.dump b/src/testdir/dumps/Test_prop_with_text_empty_line_6.dump
new file mode 100644
index 0000000..1bc9903
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_empty_line_6.dump
@@ -0,0 +1,8 @@
+|X+0&#ffff4012@59
+|a+0&#e0e0e08@1>a+0&#ffffff0| @56
+|X+0&#ffff4012@59
+@1| +0&#ffffff0@58
+|b+0&#e0e0e08@2|b+0&#ffffff0@2| @53
+|~+0#4040ff13&| @58
+|~| @58
+|-+2#0000000&@1| |V|I|S|U|A|L| |B|L|O|C|K| |-@1| +0&&@13|3|x|3| @6|2|,|3| @10|A|l@1| 
diff --git a/src/testdir/dumps/Test_prop_with_text_empty_line_7.dump b/src/testdir/dumps/Test_prop_with_text_empty_line_7.dump
new file mode 100644
index 0000000..9294533
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_empty_line_7.dump
@@ -0,0 +1,8 @@
+|X+0&#ffff4012@59
+>a+0&#ffffff0@2| @56
+|X+0&#ffff4012@59
+@1| +0&#ffffff0@58
+|b@5| @53
+|~+0#4040ff13&| @58
+|~| @58
+|s+0#e000002&|e|a|r|c|h| |h|i|t| |B|O|T|.@2|t|i|n|u|i|n|g| |a|t| |T|O|P| +0#0000000&@10|2|,|1| @10|A|l@1| 
diff --git a/src/testdir/dumps/Test_prop_with_text_empty_line_8.dump b/src/testdir/dumps/Test_prop_with_text_empty_line_8.dump
new file mode 100644
index 0000000..155b65d
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_empty_line_8.dump
@@ -0,0 +1,8 @@
+|X+0&#ffff4012@59
+|a+0&#ffffff0@2| @56
+|c>X+0&#ffff4012@58
+@2| +0&#ffffff0@57
+|b@5| @53
+|~+0#4040ff13&| @58
+|~| @58
+|-+2#0000000&@1| |I|N|S|E|R|T| |-@1| +0&&@29|3|,|2| @10|A|l@1| 
diff --git a/src/testdir/dumps/Test_prop_with_text_empty_line_9.dump b/src/testdir/dumps/Test_prop_with_text_empty_line_9.dump
new file mode 100644
index 0000000..6429042
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_empty_line_9.dump
@@ -0,0 +1,8 @@
+|X+0&#ffff4012@59
+>a+0&#ffffff0@2| @56
+|c|X+0&#ffff4012@58
+@2| +0&#ffffff0@57
+|b@5| @53
+|~+0#4040ff13&| @58
+|~| @58
+|s+0#e000002&|e|a|r|c|h| |h|i|t| |B|O|T|.@2|t|i|n|u|i|n|g| |a|t| |T|O|P| +0#0000000&@10|2|,|1| @10|A|l@1| 
diff --git a/src/testdir/test_textprop.vim b/src/testdir/test_textprop.vim
index f258c19..209b804 100644
--- a/src/testdir/test_textprop.vim
+++ b/src/testdir/test_textprop.vim
@@ -3235,6 +3235,14 @@
   call VerifyScreenDump(buf, 'Test_prop_with_text_empty_line_4', {})
   call term_sendkeys(buf, "j")
   call VerifyScreenDump(buf, 'Test_prop_with_text_empty_line_5', {})
+  call term_sendkeys(buf, "0\<C-V>2l2k")
+  call VerifyScreenDump(buf, 'Test_prop_with_text_empty_line_6', {})
+  call term_sendkeys(buf, "\<Esc>/aaa\\n\\%V\<CR>")
+  call VerifyScreenDump(buf, 'Test_prop_with_text_empty_line_7', {})
+  call term_sendkeys(buf, "3ggic")
+  call VerifyScreenDump(buf, 'Test_prop_with_text_empty_line_8', {})
+  call term_sendkeys(buf, "\<Esc>/aaa\\nc\\%V\<CR>")
+  call VerifyScreenDump(buf, 'Test_prop_with_text_empty_line_9', {})
 
   call StopVimInTerminal(buf)
 endfunc
diff --git a/src/version.c b/src/version.c
index 431ac38..39afebd 100644
--- a/src/version.c
+++ b/src/version.c
@@ -700,6 +700,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1802,
+/**/
     1801,
 /**/
     1800,
