Here is an example where it matters: (defmacro test (exp) (macroexp-let2 nil res exp `(progn (f ,res) (g ,res)))) (note that the `progn' is mandatory here.) Without the patch: (macroexpand '(test (+ 1 2))) ==> (let* ((#:res #1=(+ 1 2))) (progn (f #1#) (g #1#))) After patch: (macroexpand '(test (+ 1 2))) ==> (let* ((#:res #1=(+ 1 2))) (f #1#) (g #1#)) (And is it currently allowed to push this to master?) Thanks, Michael.