diff --git a/src/screen.c b/src/screen.c
index cab697f..e6c0b2b 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -4306,11 +4306,15 @@
 		char_attr = hl_combine_attr(line_attr, area_attr);
 	    else if (search_attr != 0)
 		char_attr = hl_combine_attr(line_attr, search_attr);
-		/* Use line_attr when not in the Visual or 'incsearch' area
-		 * (area_attr may be 0 when "noinvcur" is set). */
+# ifdef FEAT_TEXT_PROP
+	    else if (text_prop_type != NULL)
+		char_attr = hl_combine_attr(line_attr, text_prop_attr);
+# endif
 	    else if (line_attr != 0 && ((fromcol == -10 && tocol == MAXCOL)
 				|| vcol < fromcol || vcol_prev < fromcol_prev
 				|| vcol >= tocol))
+		// Use line_attr when not in the Visual or 'incsearch' area
+		// (area_attr may be 0 when "noinvcur" is set).
 		char_attr = line_attr;
 #else
 	    if (area_attr != 0)
diff --git a/src/testdir/dumps/Test_textprop_01.dump b/src/testdir/dumps/Test_textprop_01.dump
index 002062e..bda2a56 100644
--- a/src/testdir/dumps/Test_textprop_01.dump
+++ b/src/testdir/dumps/Test_textprop_01.dump
@@ -1,6 +1,6 @@
 | +0#af5f00255#ffffff0@1|1| |O+0#0000000&|n|e| +0&#ffff4012|t|w|o| +0&#ffffff0@63
 | +0#af5f00255&@1|2| |N+0#0000000#ffff4012|u|m|b|é|r| |1+0#4040ff13&|2|3| +0#0000000&|ä|n|d| |t|h|œ|n| |4+0#4040ff13&|¾|7|.+0#0000000&| +0&#ffffff0@46
-| +0#af5f00255&@1|3| >-+0#0000000#ffff4012|x+0&#ffffff0|a+0#4040ff13&@1|x+0#0000000&|-@1|x+0#4040ff13&|b@1|x+0#0000000&|-@1|x|c+0#4040ff13&@1|x|-+0#0000000&@1|x+0#4040ff13&|d@1|x|-+0#0000000&@1| @45
+| +0#af5f00255&@1|3| >-+8#0000000#ffff4012|x+8&#ffffff0|a+8#4040ff13&@1|x+8#0000000&|-@1|x+8#4040ff13&|b@1|x+8#0000000&|-@1|x|c+8#4040ff13&@1|x|-+8#0000000&@1|x+8#4040ff13&|d@1|x|-+8#0000000&@1| @45
 | +0#af5f00255&@1|4| |/+0#40ff4011&@1| |c|o|m@1|e|n|t| |w+0&#e0e0e08|i|t|h| |e+8&&|r@1|o|r| +0&#ffffff0|i|n| |i|t| +0#0000000&@43
 |~+0#4040ff13&| @73
 |~| @73
diff --git a/src/testdir/test_textprop.vim b/src/testdir/test_textprop.vim
index 237eda9..dc229c0 100644
--- a/src/testdir/test_textprop.vim
+++ b/src/testdir/test_textprop.vim
@@ -645,7 +645,7 @@
 	\ "call prop_add(3, 15, {'length': 2, 'type': 'both'})",
 	\ "call prop_add(4, 12, {'length': 10, 'type': 'background'})",
 	\ "call prop_add(4, 17, {'length': 5, 'type': 'error'})",
-	\ "set number",
+	\ "set number cursorline",
 	\ "hi clear SpellBad",
 	\ "set spell",
 	\ "syn match Comment '//.*'",
diff --git a/src/textprop.c b/src/textprop.c
index 361ecb1..4c78ff1 100644
--- a/src/textprop.c
+++ b/src/textprop.c
@@ -11,10 +11,7 @@
  * Text properties implementation.  See ":help text-properties".
  *
  * TODO:
- * - When using 'cursorline' attributes should be merged. (#3912)
  * - Adjust text property column and length when text is inserted/deleted.
- *   -> splitting a line can create a zero-length property.  Don't highlight it
- *      and extend it when inserting text.
  *   -> a :substitute with a multi-line match
  *   -> join two lines, also with BS in Insert mode
  *   -> search for changed_bytes() from misc1.c
diff --git a/src/version.c b/src/version.c
index 8496767..309ed3c 100644
--- a/src/version.c
+++ b/src/version.c
@@ -768,6 +768,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1340,
+/**/
     1339,
 /**/
     1338,
