is this a variable capture thing? shouldn't the substitution handle this?