diff --git a/src/screen.c b/src/screen.c
index b767ec3..698f969 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -3003,6 +3003,7 @@
 					   wrapping */
     int		vcol_off	= 0;	/* offset for concealed characters */
     int		did_wcol	= FALSE;
+    int		old_boguscols   = 0;
 # define VCOL_HLC (vcol - vcol_off)
 # define FIX_FOR_BOGUSCOLS \
     { \
@@ -3010,6 +3011,7 @@
 	vcol -= vcol_off; \
 	vcol_off = 0; \
 	col -= boguscols; \
+	old_boguscols = boguscols; \
 	boguscols = 0; \
     }
 #else
@@ -4545,10 +4547,16 @@
 			int	saved_nextra = n_extra;
 
 #ifdef FEAT_CONCEAL
-			if (is_concealing && vcol_off > 0)
+			if ((is_concealing || boguscols > 0) && vcol_off > 0)
 			    /* there are characters to conceal */
 			    tab_len += vcol_off;
+			/* boguscols before FIX_FOR_BOGUSCOLS macro from above
+			 */
+			if (wp->w_p_list && lcs_tab1 && old_boguscols > 0
+							 && n_extra > tab_len)
+			    tab_len += n_extra - tab_len;
 #endif
+
 			/* if n_extra > 0, it gives the number of chars, to
 			 * use for a tab, else we need to calculate the width
 			 * for a tab */
@@ -4577,7 +4585,7 @@
 #ifdef FEAT_CONCEAL
 			/* n_extra will be increased by FIX_FOX_BOGUSCOLS
 			 * macro below, so need to adjust for that here */
-			if (is_concealing && vcol_off > 0)
+			if ((is_concealing || boguscols > 0) && vcol_off > 0)
 			    n_extra -= vcol_off;
 #endif
 		    }
@@ -4590,6 +4598,12 @@
 		     * the tab can be longer than 'tabstop' when there
 		     * are concealed characters. */
 		    FIX_FOR_BOGUSCOLS;
+		    /* Make sure, the highlighting for the tab char will be
+		     * correctly set further below (effectively reverts the
+		     * FIX_FOR_BOGSUCOLS macro */
+		    if (old_boguscols > 0 && n_extra > tab_len && wp->w_p_list
+								  && lcs_tab1)
+			tab_len += n_extra - tab_len;
 #endif
 #ifdef FEAT_MBYTE
 		    mb_utf8 = FALSE;	/* don't draw as UTF-8 */
diff --git a/src/testdir/test_listlbr_utf8.in b/src/testdir/test_listlbr_utf8.in
index ba12ada..b3d05df 100644
--- a/src/testdir/test_listlbr_utf8.in
+++ b/src/testdir/test_listlbr_utf8.in
@@ -9,9 +9,9 @@
 :put =\"\tabcdef hijklmn\tpqrstuvwxyz\u00a01060ABCDEFGHIJKLMNOP \"
 :norm! zt
 :set ts=4 sw=4 sts=4 linebreak sbr=+ wrap
-:fu! ScreenChar(width)
+:fu! ScreenChar(width, lines)
 :	let c=''
-:	for j in range(1,4)
+:	for j in range(1,a:lines)
 :	    for i in range(1,a:width)
 :	    	let c.=nr2char(screenchar(j, i))
 :	    endfor
@@ -28,13 +28,13 @@
 :let g:test ="Test 1: set linebreak + set list + fancy listchars"
 :exe "set linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail:\u02d1,eol:\ub6"
 :redraw!
-:let line=ScreenChar(winwidth(0))
+:let line=ScreenChar(winwidth(0),4)
 :call DoRecordScreen()
 :"
 :let g:test ="Test 2: set nolinebreak list"
 :set list nolinebreak
 :redraw!
-:let line=ScreenChar(winwidth(0))
+:let line=ScreenChar(winwidth(0),4)
 :call DoRecordScreen()
 :"
 :let g:test ="Test 3: set linebreak nolist"
@@ -43,9 +43,19 @@
 :norm! zt
 :set nolist linebreak
 :redraw!
-:let line=ScreenChar(winwidth(0))
+:let line=ScreenChar(winwidth(0),4)
 :call DoRecordScreen()
-:"
+:let g:test ="Test 4: set linebreak list listchars and concealing"
+:let c_defines=['#define ABCDE		1','#define ABCDEF		1','#define ABCDEFG		1','#define ABCDEFGH	1', '#define MSG_MODE_FILE			1','#define MSG_MODE_CONSOLE		2','#define MSG_MODE_FILE_AND_CONSOLE	3','#define MSG_MODE_FILE_THEN_CONSOLE	4']
+:call append('$', c_defines)
+:vert resize 40
+:$-7
+:norm! zt
+:set list linebreak listchars=tab:>- cole=1
+:syn match Conceal conceal cchar=>'AB\|MSG_MODE'
+:redraw!
+:let line=ScreenChar(winwidth(0),7)
+:call DoRecordScreen()
 :%w! test.out
 :qa!
 ENDTEST
diff --git a/src/testdir/test_listlbr_utf8.ok b/src/testdir/test_listlbr_utf8.ok
index 634cf39..b90e696 100644
--- a/src/testdir/test_listlbr_utf8.ok
+++ b/src/testdir/test_listlbr_utf8.ok
@@ -19,3 +19,20 @@
 ~                   
 ~                   
 ~                   
+#define ABCDE		1
+#define ABCDEF		1
+#define ABCDEFG		1
+#define ABCDEFGH	1
+#define MSG_MODE_FILE			1
+#define MSG_MODE_CONSOLE		2
+#define MSG_MODE_FILE_AND_CONSOLE	3
+#define MSG_MODE_FILE_THEN_CONSOLE	4
+
+Test 4: set linebreak list listchars and concealing
+#define ABCDE>-->---1                   
+#define >CDEF>-->---1                   
+#define >CDEFG>->---1                   
+#define >CDEFGH>----1                   
+#define >_FILE>--------->--->---1       
+#define >_CONSOLE>---------->---2       
+#define >_FILE_AND_CONSOLE>---------3   
diff --git a/src/version.c b/src/version.c
index d43e4c1..9cbee6e 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    587,
+/**/
     586,
 /**/
     585,
