--- /dev/null
+--- a/shell/ash.c
++++ b/shell/ash.c
+@@ -6846,8 +6846,7 @@ evalvar(char *p, int flags, struct strli
+ patloc = expdest - (char *)stackblock();
+ if (NULL == subevalvar(p, /* varname: */ NULL, patloc, subtype,
+ startloc, varflags,
+-//TODO: | EXP_REDIR too? All other such places do it too
+- /* quotes: */ flags & (EXP_FULL | EXP_CASE),
++ /* quotes: */ flags & (EXP_FULL | EXP_CASE | EXP_REDIR),
+ var_str_list)
+ ) {
+ int amount = expdest - (