diff --git a/code/interr.lisp b/code/interr.lisp
index def62d506e2548ec5d107b8c85003f06c42ff4f7..d2bf384e53a3720aaff6f15a56957f2bb3372ac5 100644
--- a/code/interr.lisp
+++ b/code/interr.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman (FAHLMAN@CMUC). 
 ;;; **********************************************************************
 ;;;
-;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/interr.lisp,v 1.9 1990/08/14 16:34:25 wlott Exp $
+;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/interr.lisp,v 1.10 1990/09/06 19:41:49 wlott Exp $
 ;;;
 ;;; Functions and macros to define and deal with internal errors (i.e.
 ;;; problems that can be signaled from assembler code).
@@ -106,6 +106,7 @@
     `(%deferr ',name
 	      ,(meta-error-number name)
 	      ,description
+	      #+new-compiler
 	      #'(lambda (name ,fp ,sigcontext ,sc-offsets)
 		  (declare (ignorable name ,fp ,sigcontext ,sc-offsets))
 		  (macrolet ((set-value (var value)
@@ -138,7 +139,7 @@
 
 ) ; Eval-When (Compile Eval)
 
-(defun %deferr (name number description function)
+(defun %deferr (name number description #+new-compiler function)
   (when (>= number (length *internal-errors*))
     (setf *internal-errors*
 	  (replace (make-array (+ number 10) :initial-element nil)
@@ -146,7 +147,7 @@
   (setf (svref *internal-errors* number)
 	(make-error-info :name name
 			 :description description
-			 :function function))
+			 #+new-compiler :function #+new-compiler function))
   name)
 
 
@@ -425,8 +426,9 @@
 	  (let ((*finding-name* t))
 	    (do ((frame (di:top-frame) (di:frame-down frame)))
 		((or (null frame)
-		     (di::frame-escaped frame))
-		 (if frame
+		     (and (di::compiled-frame-p frame)
+			  (di::compiled-frame-escaped frame)))
+		 (if (di::compiled-frame-p frame)
 		     (di:debug-function-name
 		      (di:frame-debug-function frame))
 		     "<error finding name>"))))