diff --git a/src/vim9execute.c b/src/vim9execute.c
index b23879d..9826678 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -999,15 +999,34 @@
 		case VAR_LIST:
 				if (tolerant)
 				{
-				    char_u *p;
+				    char_u	*s, *e, *p;
+				    garray_T	ga;
 
+				    ga_init2(&ga, sizeof(char_u *), 1);
+
+				    // Convert to NL separated items, then
+				    // escape the items and replace the NL with
+				    // a space.
 				    str = typval2string(tv, TRUE);
+				    if (str == NULL)
+					return FAIL;
+				    s = str;
+				    while ((e = vim_strchr(s, '\n')) != NULL)
+				    {
+					*e = NUL;
+					p = vim_strsave_fnameescape(s, FALSE);
+					if (p != NULL)
+					{
+					    ga_concat(&ga, p);
+					    ga_concat(&ga, (char_u *)" ");
+					    vim_free(p);
+					}
+					s = e + 1;
+				    }
+				    vim_free(str);
 				    clear_tv(tv);
 				    tv->v_type = VAR_STRING;
-				    tv->vval.v_string = str;
-				    // TODO: escaping
-				    while ((p = vim_strchr(str, '\n')) != NULL)
-					*p = ' ';
+				    tv->vval.v_string = ga.ga_data;
 				    return OK;
 				}
 				// FALLTHROUGH
