diff --git a/compiler/x86/call.lisp b/compiler/x86/call.lisp
index c2a4ec5bcc80398819629f4931681d7e917e81e6..1ef18baef1f6f07c0e2c1604ccf1738702d6d947 100644
--- a/compiler/x86/call.lisp
+++ b/compiler/x86/call.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
 ;;;
 (ext:file-comment
- "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/call.lisp,v 1.15 1998/06/16 18:20:44 pw Exp $")
+ "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/call.lisp,v 1.16 1998/06/19 14:26:12 dtc Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -944,10 +944,9 @@
 	      ;; For non-tail call, we have to save our frame pointer
 	      ;; and install the new frame pointer.  We can't load stack
 	      ;; tns after this point.
-	      `(
-		;; Python doesn't seem to allocate a frame here which
+	      `(;; Python doesn't seem to allocate a frame here which
 		;; doesn't leave room for the ofp/ret stuff.
-
+		
 		;; The variable args are on the stack and become the
 		;; frame, but there may be <3 args and 3 stack slots
 		;; are assumed allocate on the call. So need to ensure
@@ -959,10 +958,8 @@
 		;; Save the fp
 		(storew ebp-tn new-fp (- (1+ ocfp-save-offset)))
 
-		;; Save the return address.
 		(move ebp-tn new-fp)	; NB - now on new stack frame.
-		))
-	     )
+		)))
   
      (note-this-location vop :call-site)
 
diff --git a/lisp/x86-assem.S b/lisp/x86-assem.S
index 7c11fd22931356b94e8b2c46d21f65f42c3448b4..97e9c22f6bd2999369756326afc86aedba9e879b 100644
--- a/lisp/x86-assem.S
+++ b/lisp/x86-assem.S
@@ -1,6 +1,6 @@
 ### x86-assem.S -*- Mode: Asm; -*-
 /**
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/x86-assem.S,v 1.13 1998/03/21 08:15:03 dtc Exp $
+ * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/x86-assem.S,v 1.14 1998/06/19 14:26:13 dtc Exp $
  *
  * Authors:	Paul F. Werkowski <pw@snoopy.mv.com>
  *		Douglas T. Crosher
@@ -201,23 +201,12 @@ Ldone:
 	/* alloc new frame */
 	mov	%esp,%ebx	# current sp marks start of new frame
 	push	%ebp		# fp in save location S0
+	sub	$8,%esp		# Ensure 3 slots are allocated, one above.
 	mov	%ebx,%ebp	# switch to new frame
 
-	/* lra in the save location */
-	pushl	$Llra
-
-	/* push the lra for backward compatibility */
-	pushl	$Llra
-
 	/* indirect the closure */
-	jmp	*CLOSURE_FUNCTION_OFFSET(%eax)
+	call	*CLOSURE_FUNCTION_OFFSET(%eax)
 	
-	.align	align_8byte
-        .long   type_ReturnPcHeader
-	nop
-	nop
-	nop
-Llra:
 	/* Multi-value return - blow off any extra values */
 	mov	%ebx, %esp
 	/* Single value return */