diff --git a/src/message.c b/src/message.c
index c6bf6da..ed9b532 100644
--- a/src/message.c
+++ b/src/message.c
@@ -1997,11 +1997,13 @@
 			&& curwin->w_lcs_chars.leadmultispace != NULL)
 		{
 		    c = curwin->w_lcs_chars.leadmultispace[multispace_pos++];
-		    if (curwin->w_lcs_chars.leadmultispace[multispace_pos] == NUL)
+		    if (curwin->w_lcs_chars.leadmultispace[multispace_pos]
+									== NUL)
 			multispace_pos = 0;
 		    attr = HL_ATTR(HLF_8);
 		}
-		else if (lead != NULL && s <= lead && curwin->w_lcs_chars.lead)
+		else if (lead != NULL && s <= lead
+					    && curwin->w_lcs_chars.lead != NUL)
 		{
 		    c = curwin->w_lcs_chars.lead;
 		    attr = HL_ATTR(HLF_8);
@@ -2011,14 +2013,6 @@
 		    c = curwin->w_lcs_chars.trail;
 		    attr = HL_ATTR(HLF_8);
 		}
-		else if (list && lead != NULL && s <= lead && in_multispace
-			&& curwin->w_lcs_chars.leadmultispace != NULL)
-		{
-		    c = curwin->w_lcs_chars.leadmultispace[multispace_pos++];
-		    if (curwin->w_lcs_chars.leadmultispace[multispace_pos] == NUL)
-			multispace_pos = 0;
-		    attr = HL_ATTR(HLF_8);
-		}
 		else if (list && in_multispace
 			&& curwin->w_lcs_chars.multispace != NULL)
 		{
diff --git a/src/screen.c b/src/screen.c
index 5035879..cba7e0b 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -4904,6 +4904,7 @@
 	    {
 		lcs_chars.tab1 = NUL;
 		lcs_chars.tab3 = NUL;
+
 		if (multispace_len > 0)
 		{
 		    lcs_chars.multispace = ALLOC_MULT(int, multispace_len + 1);
@@ -5028,7 +5029,8 @@
 		    s = p + len2 + 1;
 		    if (round == 0)
 		    {
-			// Get length of lcsmultispace string in first round
+			// get length of lcs-leadmultispace string in first
+			// round
 			last_lmultispace = p;
 			lead_multispace_len = 0;
 			while (*s != NUL && *s != ',')
@@ -5039,7 +5041,7 @@
 			    ++lead_multispace_len;
 			}
 			if (lead_multispace_len == 0)
-			    // lcsmultispace cannot be an empty string
+			    // lcs-leadmultispace cannot be an empty string
 			    return e_invalid_argument;
 			p = s;
 		    }
@@ -5066,10 +5068,8 @@
     }
     if (tab == lcstab)
     {
-	if (wp->w_lcs_chars.multispace != NULL)
-	    vim_free(wp->w_lcs_chars.multispace);
-	if (wp->w_lcs_chars.leadmultispace != NULL)
-	    vim_free(wp->w_lcs_chars.leadmultispace);
+	vim_free(wp->w_lcs_chars.multispace);
+	vim_free(wp->w_lcs_chars.leadmultispace);
 	wp->w_lcs_chars = lcs_chars;
     }
 
diff --git a/src/version.c b/src/version.c
index de4f27c..5163254 100644
--- a/src/version.c
+++ b/src/version.c
@@ -735,6 +735,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    5070,
+/**/
     5069,
 /**/
     5068,
