Index: /trunk/source/compiler/X86/x862.lisp
===================================================================
--- /trunk/source/compiler/X86/x862.lisp	(revision 15224)
+++ /trunk/source/compiler/X86/x862.lisp	(revision 15225)
@@ -1062,5 +1062,5 @@
 
 
-(defun x862-bind-lambda (seg lcells req opt rest keys auxen optsupvloc passed-in-regs lexpr &optional inherited
+(defun x862-bind-lambda (seg lcells req opt rest keys auxen optsupvloc passed-in-regs lexpr inherited tail-label
                              &aux (vloc 0) (numopt (list-length (%car opt)))
                              (nkeys (list-length (%cadr keys))) 
@@ -1105,14 +1105,17 @@
             (x862-copy-register seg reg *x862-arg-z*)
             (x862-set-var-ea seg rest reg))
-            (let* ((loc *x862-vstack*))
-              (x862-vpush-register seg *x862-arg-z* :reserved)
-              (x862-note-top-cell rest)
-              (x862-bind-var seg rest loc *x862-top-vstack-lcell*))))
+          (let* ((loc *x862-vstack*))
+            (x862-vpush-register seg *x862-arg-z* :reserved)
+            (x862-note-top-cell rest)
+            (x862-bind-var seg rest loc *x862-top-vstack-lcell*))))
       (let* ((rvloc (+ vloc (* 2 *x862-target-node-size* nkeys))))
         (if (setq reg (nx2-assign-register-var rest))
           (x862-init-regvar seg rest reg (x862-vloc-ea rvloc))
           (x862-bind-var seg rest rvloc (pop lcells))))))
-    (when keys
-      (apply #'x862-init-keys seg vloc lcells keys))
+  (when keys
+    (apply #'x862-init-keys seg vloc lcells keys))
+  (when tail-label
+    (with-x86-local-vinsn-macros (seg)
+      (@+ tail-label)))
   (x862-seq-bind seg (%car auxen) (%cadr auxen)))
 
@@ -6723,7 +6726,5 @@
           (setq *x862-entry-vstack* *x862-vstack*)
           (setq reserved-lcells (x862-collect-lcells :reserved))
-          (x862-bind-lambda seg reserved-lcells req opt rest keys auxen optsupvloc arg-regs lexprp inherited-vars)
-          (when *x862-tail-label*
-            (@+ *x862-tail-label*))
+          (x862-bind-lambda seg reserved-lcells req opt rest keys auxen optsupvloc arg-regs lexprp inherited-vars *x862-tail-label*)
           (when next-method-var-scope-info
             (push next-method-var-scope-info *x862-recorded-symbols*)))
