diff --git a/src/drawline.c b/src/drawline.c
index 99994d6..e3084d4 100644
--- a/src/drawline.c
+++ b/src/drawline.c
@@ -2009,7 +2009,13 @@
 		    ++text_prop_next;
 		}
 
-		if (wlv.n_extra == 0 || !wlv.extra_for_textprop)
+		if (wlv.n_extra == 0 ||
+			(!wlv.extra_for_textprop
+#ifdef FEAT_PROP_POPUP
+			 && !(text_prop_type != NULL &&
+			     text_prop_flags & PT_FLAG_OVERRIDE)
+#endif
+		    ))
 		{
 		    text_prop_attr = 0;
 		    text_prop_attr_comb = 0;
@@ -3278,6 +3284,12 @@
 			n_attr = wlv.n_extra + 1;
 			wlv.extra_attr = hl_combine_attr(wlv.win_attr,
 							       HL_ATTR(HLF_8));
+#ifdef FEAT_PROP_POPUP
+		    if (text_prop_type != NULL &&
+			     text_prop_flags & PT_FLAG_OVERRIDE)
+			wlv.extra_attr = hl_combine_attr(text_prop_attr, wlv.extra_attr);
+#endif
+
 			saved_attr2 = wlv.char_attr; // save current attr
 		    }
 		    mb_utf8 = FALSE;	// don't draw as UTF-8
@@ -3329,6 +3341,11 @@
 					    || (wp->w_p_list &&
 						wp->w_lcs_chars.eol > 0)))
 			wlv.char_attr = wlv.line_attr;
+#ifdef FEAT_SIGNS
+		    // At end of line: if Sign is present with line highlight, reset char_attr
+		    if (sign_present && wlv.sattr.sat_linehl > 0 && wlv.draw_state == WL_LINE)
+			wlv.char_attr = wlv.sattr.sat_linehl;
+#endif
 # ifdef FEAT_DIFF
 		    if (wlv.diff_hlf == HLF_TXD)
 		    {
diff --git a/src/testdir/dumps/Test_prop_sign_tab_1.dump b/src/testdir/dumps/Test_prop_sign_tab_1.dump
new file mode 100644
index 0000000..4d033ce
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_sign_tab_1.dump
@@ -0,0 +1,8 @@
+| +0#0000e05#a8a8a8255@1>o+0#0000000#ffff4012|n|e| +0&#ffffff0@54
+|>@1| +0&#ffff4012@7|t|a|b| +0&#5fd7ff255@46
+|>+0&#ffffff0@1| +0&#ffff4012@7|s|p|a|c|e| +0&#5fd7ff255@44
+|X+3&#ffffff0|b|u|f@1|e|r| |[|+|]| @30|1|,|1| @11|T|o|p
+| +0&&@59
+|~+0#4040ff13&| @58
+|[+1#0000000&|N|o| |N|a|m|e|]| @32|0|,|0|-|1| @9|A|l@1
+|"+0&&|X|b|u|f@1|e|r|"| |[|N|e|w|]| @44
diff --git a/src/testdir/dumps/Test_prop_sign_tab_2.dump b/src/testdir/dumps/Test_prop_sign_tab_2.dump
new file mode 100644
index 0000000..d567a5d
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_sign_tab_2.dump
@@ -0,0 +1,8 @@
+| +0#0000e05#a8a8a8255@1>o+0#0000000#ffff4012|n|e|¶+0#4040ff13#ffffff0| +0#0000000&@53
+|>@1|>+0#0000e05#5fd7ff255|-@6|t+0#0000000#ffff4012|a|b|¶+0#4040ff13#5fd7ff255| +0#0000000&@45
+|>+0&#ffffff0@1| +0&#ffff4012@7|s|p|a|c|e|¶+0#4040ff13#5fd7ff255| +0#0000000&@43
+|X+3&#ffffff0|b|u|f@1|e|r| |[|+|]| @30|1|,|1| @11|T|o|p
+| +0&&@59
+|~+0#4040ff13&| @58
+|[+1#0000000&|N|o| |N|a|m|e|]| @32|0|,|0|-|1| @9|A|l@1
+|:+0&&|s|e|t|l| |l|i|s|t| |l|i|s|t|c|h|a|r|s|=|e|o|l|:|¶|,|t|a|b|:|>|-| @26
diff --git a/src/testdir/test_textprop.vim b/src/testdir/test_textprop.vim
index da8c495..9b03d10 100644
--- a/src/testdir/test_textprop.vim
+++ b/src/testdir/test_textprop.vim
@@ -3999,4 +3999,30 @@
 
   call StopVimInTerminal(buf)
 endfunc
+
+func Test_text_prop_list_hl_and_sign_highlight()
+  CheckRunVimInTerminal
+
+  let lines =<< trim END
+    func Test()
+        split Xbuffer
+        call setline(1, ['one', "\ttab", '        space', 'three', 'four', 'five'])
+        call prop_type_add('Prop1', #{highlight: 'Search', override: v:true})
+        sign define sign1 text=>> linehl=DiffAdd
+        sign place 10 line=2 name=sign1
+        sign place 20 line=3 name=sign1
+        call prop_add(1, 1, #{end_lnum: 4, end_col: 5, type: 'Prop1'})
+        sign place 30 line=5 name=sign1
+    endfunc
+    call Test()
+  END
+  call writefile(lines, 'XtextPropSignTab', 'D')
+  let buf = RunVimInTerminal('-S XtextPropSignTab', #{rows: 8, cols: 60})
+  call VerifyScreenDump(buf, 'Test_prop_sign_tab_1', {})
+
+  call term_sendkeys(buf, ":setl list listchars=eol:¶,tab:>-\<CR>")
+  call VerifyScreenDump(buf, 'Test_prop_sign_tab_2', {})
+
+  call StopVimInTerminal(buf)
+endfunc
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/version.c b/src/version.c
index bdca0fd..2434576 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1749,
+/**/
     1748,
 /**/
     1747,
