diff --git a/compiler/ir1opt.lisp b/compiler/ir1opt.lisp
index 7503784f80e67d97b93abb5098995902ca44c926..a3200e54646a886834508b81b44c780e66cfd4af 100644
--- a/compiler/ir1opt.lisp
+++ b/compiler/ir1opt.lisp
@@ -1276,9 +1276,9 @@
 	(setf (functional-kind fun) :let)
 	(flush-dest (first (basic-combination-args dest)))
 	(unlink-node dest)
-	(propagate-to-args node fun)
 	(when vals
-	  (reoptimize-continuation (first vals))))
+	  (reoptimize-continuation (first vals)))
+	(propagate-to-args node fun))
       t)))