diff --git a/src/testdir/dumps/Test_prop_with_text_above_8.dump b/src/testdir/dumps/Test_prop_with_text_above_8.dump
new file mode 100644
index 0000000..f4c72fb
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_above_8.dump
@@ -0,0 +1,9 @@
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|1| |f+0#0000000#ffff4012|i|r|s|t| |t|h|i|n|g| |a|b|o|v|e| @36
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3|s+0#0000000#ffd7ff255|e|c|o|n|d| |t|h|i|n|g| |a|b|o|v|e| @35
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3|i+0#0000000&|n|s|e|r|t|e|d| @45
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|2| >o+0#0000000&|n|e| |t|w|o| @46
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3|b+0#0000000#5fd7ff255|e|l|o|w| +0&#ffffff0@48
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|3| |t+0#0000000&|h|r|e@1| |f|o|u|r| @43
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|4| | +0#0000000&@2|a+0&#ffff4012|n|o|t|h|e|r| |t|h|i|n|g| @37
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3|f+0#0000000&|i|v|e| |s|i|x| @45
+@42|2|,|1| @10|A|l@1| 
diff --git a/src/testdir/test_textprop.vim b/src/testdir/test_textprop.vim
index 235dd02..5167e8e 100644
--- a/src/testdir/test_textprop.vim
+++ b/src/testdir/test_textprop.vim
@@ -2886,6 +2886,9 @@
   call term_sendkeys(buf, "V")
   call VerifyScreenDump(buf, 'Test_prop_with_text_above_7', {})
 
+  call term_sendkeys(buf, "\<Esc>ls\<CR>\<Esc>")
+  call VerifyScreenDump(buf, 'Test_prop_with_text_above_8', {})
+
   call StopVimInTerminal(buf)
 endfunc
 
diff --git a/src/textprop.c b/src/textprop.c
index be72254..d2536ce 100644
--- a/src/textprop.c
+++ b/src/textprop.c
@@ -2264,6 +2264,7 @@
 	proptype_T *pt;
 	int	    start_incl, end_incl;
 	int	    cont_prev, cont_next;
+	int	    prop_col;
 
 	// copy the prop to an aligned structure
 	mch_memmove(&prop, props + i * sizeof(textprop_T), sizeof(textprop_T));
@@ -2271,9 +2272,13 @@
 	pt = text_prop_type_by_id(curbuf, prop.tp_type);
 	start_incl = (pt != NULL && (pt->pt_flags & PT_FLAG_INS_START_INCL));
 	end_incl = (pt != NULL && (pt->pt_flags & PT_FLAG_INS_END_INCL));
-	cont_prev = prop.tp_col != MAXCOL && prop.tp_col + !start_incl <= kept;
-	cont_next = prop.tp_col != MAXCOL
-			   && skipped <= prop.tp_col + prop.tp_len - !end_incl;
+
+	// a text prop "above" behaves like it is on the first text column
+	prop_col = (prop.tp_flags & TP_FLAG_ALIGN_ABOVE) ? 1 : prop.tp_col;
+
+	cont_prev = prop_col != MAXCOL && prop_col + !start_incl <= kept;
+	cont_next = prop_col != MAXCOL
+			      && skipped <= prop_col + prop.tp_len - !end_incl;
 	// when a prop has text it is never copied
 	if (prop.tp_id < 0 && cont_next)
 	    cont_prev = FALSE;
@@ -2292,8 +2297,7 @@
 
 	// Only add the property to the next line if the length is bigger than
 	// zero.
-	if ((cont_next || prop.tp_col == MAXCOL)
-						&& ga_grow(&nextprop, 1) == OK)
+	if ((cont_next || prop_col == MAXCOL) && ga_grow(&nextprop, 1) == OK)
 	{
 	    textprop_T *p = ((textprop_T *)nextprop.ga_data) + nextprop.ga_len;
 
diff --git a/src/version.c b/src/version.c
index 019abf3..25c28f8 100644
--- a/src/version.c
+++ b/src/version.c
@@ -704,6 +704,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    458,
+/**/
     457,
 /**/
     456,
