diff --git a/src/globals.h b/src/globals.h
index 759c510..f0879dc 100644
--- a/src/globals.h
+++ b/src/globals.h
@@ -1163,6 +1163,7 @@
 EXTERN int	lcs_ext INIT(= NUL);
 EXTERN int	lcs_prec INIT(= NUL);
 EXTERN int	lcs_nbsp INIT(= NUL);
+EXTERN int	lcs_space INIT(= NUL);
 EXTERN int	lcs_tab1 INIT(= NUL);
 EXTERN int	lcs_tab2 INIT(= NUL);
 EXTERN int	lcs_trail INIT(= NUL);
diff --git a/src/screen.c b/src/screen.c
index 8118828..f9a847d 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -4334,14 +4334,16 @@
 #endif
 	    ++ptr;
 
-	    /* 'list' : change char 160 to lcs_nbsp. */
-	    if (wp->w_p_list && (c == 160
+	    /* 'list': change char 160 to lcs_nbsp and space to lcs_space. */
+	    if (wp->w_p_list
+		    && (((c == 160
 #ifdef FEAT_MBYTE
-			|| (mb_utf8 && mb_c == 160)
+			  || (mb_utf8 && mb_c == 160)
 #endif
-			) && lcs_nbsp)
+			 ) && lcs_nbsp)
+			|| (c == ' ' && lcs_space && ptr <= line + trailcol)))
 	    {
-		c = lcs_nbsp;
+		c = (c == ' ') ? lcs_space : lcs_nbsp;
 		if (area_attr == 0 && search_attr == 0)
 		{
 		    n_attr = 1;
diff --git a/src/testdir/Make_amiga.mak b/src/testdir/Make_amiga.mak
index a9a6fa6..102255d 100644
--- a/src/testdir/Make_amiga.mak
+++ b/src/testdir/Make_amiga.mak
@@ -46,6 +46,7 @@
 		test_erasebackword.out \
 		test_eval.out \
 		test_insertcount.out \
+		test_listchars.out \
 		test_listlbr.out \
 		test_listlbr_utf8.out \
 		test_mapping.out \
@@ -189,6 +190,7 @@
 test_erasebackword.out: test_erasebackword.in
 test_eval.out: test_eval.in
 test_insertcount.out: test_insertcount.in
+test_listchars.out: test_listchars.in
 test_listlbr.out: test_listlbr.in
 test_listlbr_utf8.out: test_listlbr_utf8.in
 test_mapping.out: test_mapping.in
diff --git a/src/testdir/Make_dos.mak b/src/testdir/Make_dos.mak
index e110277..787d76e 100644
--- a/src/testdir/Make_dos.mak
+++ b/src/testdir/Make_dos.mak
@@ -45,6 +45,7 @@
 		test_erasebackword.out \
 		test_eval.out \
 		test_insertcount.out \
+		test_listchars.out \
 		test_listlbr.out \
 		test_listlbr_utf8.out \
 		test_mapping.out \
diff --git a/src/testdir/Make_ming.mak b/src/testdir/Make_ming.mak
index 4ec49d5..e6942c6 100644
--- a/src/testdir/Make_ming.mak
+++ b/src/testdir/Make_ming.mak
@@ -67,6 +67,7 @@
 		test_erasebackword.out \
 		test_eval.out \
 		test_insertcount.out \
+		test_listchars.out \
 		test_listlbr.out \
 		test_listlbr_utf8.out \
 		test_mapping.out \
diff --git a/src/testdir/Make_os2.mak b/src/testdir/Make_os2.mak
index 7cdfcb1..224f695 100644
--- a/src/testdir/Make_os2.mak
+++ b/src/testdir/Make_os2.mak
@@ -47,6 +47,7 @@
 		test_erasebackword.out \
 		test_eval.out \
 		test_insertcount.out \
+		test_listchars.out \
 		test_listlbr.out \
 		test_listlbr_utf8.out \
 		test_mapping.out \
diff --git a/src/testdir/Make_vms.mms b/src/testdir/Make_vms.mms
index 496f822..a936d27 100644
--- a/src/testdir/Make_vms.mms
+++ b/src/testdir/Make_vms.mms
@@ -4,7 +4,7 @@
 # Authors:	Zoltan Arpadffy, <arpadffy@polarhome.com>
 #		Sandor Kopanyi,  <sandor.kopanyi@mailbox.hu>
 #
-# Last change:  2015 Mar 24
+# Last change:  2015 Apr 21
 #
 # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
 # Edit the lines in the Configuration section below to select.
@@ -106,6 +106,7 @@
 	 test_erasebackword.out \
 	 test_eval.out \
 	 test_insertcount.out \
+	 test_listchars.out \
 	 test_listlbr.out \
 	 test_listlbr_utf8.out \
 	 test_mapping.out \
diff --git a/src/testdir/Makefile b/src/testdir/Makefile
index bc094e1..dfcee81 100644
--- a/src/testdir/Makefile
+++ b/src/testdir/Makefile
@@ -43,6 +43,7 @@
 		test_erasebackword.out \
 		test_eval.out \
 		test_insertcount.out \
+		test_listchars.out \
 		test_listlbr.out \
 		test_listlbr_utf8.out \
 		test_mapping.out \
diff --git a/src/testdir/test_listchars.in b/src/testdir/test_listchars.in
new file mode 100644
index 0000000..1f19afa
--- /dev/null
+++ b/src/testdir/test_listchars.in
@@ -0,0 +1,53 @@
+Tests for 'listchars' display with 'list' and :list
+
+STARTTEST
+:so small.vim
+:let g:lines = []
+:function GetScreenCharsForLine(lnum)
+:  return join(map(range(1, virtcol('$')), 'nr2char(screenchar(a:lnum, v:val))'), '')
+:endfunction
+:nnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))\<CR>"
+:set listchars+=tab:>-,space:.,trail:<
+:set list
+:
+/^start:/
+:normal! jzt
+GG
+GG
+GG
+GG
+GGH:
+:set listchars-=trail:<
+GG
+GG
+GG
+GG
+GG:
+:put =g:lines
+:'[,']w! test.out
+ENDTEST
+
+start:
+	aa	
+  bb	  
+   cccc	 
+dd        ee  	
+ 
+
+
+STARTTEST
+:set listchars+=trail:<
+:set nolist
+:
+/^start:/
+:redir! >> test.out
+:+1,$list
+:redir END
+:q!
+ENDTEST
+
+start:
+  fff	  
+	gg	
+     h	
+iii    	  
diff --git a/src/testdir/test_listchars.ok b/src/testdir/test_listchars.ok
new file mode 100644
index 0000000..1377a84
--- /dev/null
+++ b/src/testdir/test_listchars.ok
@@ -0,0 +1,16 @@
+>-------aa>-----$
+..bb>---<<$
+...cccc><$
+dd........ee<<>-$
+<$
+>-------aa>-----$
+..bb>---..$
+...cccc>.$
+dd........ee..>-$
+.$
+
+
+..fff>--<<$
+>-------gg>-----$
+.....h>-$
+iii<<<<><<$
diff --git a/src/version.c b/src/version.c
index 850f37c..06fb40e 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    710,
+/**/
     709,
 /**/
     708,
