diff --git a/compiler/main.lisp b/compiler/main.lisp
index 61a33f7cb640b8886e23330621f82b3058f5e632..ee80038e608cb733f4f281dba3aaf20c28afcd74 100644
--- a/compiler/main.lisp
+++ b/compiler/main.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/main.lisp,v 1.101 1994/02/10 23:20:53 ram Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/main.lisp,v 1.102 1994/02/11 15:09:39 ram Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -351,11 +351,14 @@
 ;;;
 ;;;    Return our best guess for whether we will byte compile code currently
 ;;; being IR1 converted.  Only a guess because the decision is made on a
-;;; per-component basis.
+;;; per-component basis.  If :CONSERVATIVE is true, return T if there is any
+;;; doubt.
 ;;;
-(defun byte-compiling ()
+(defun byte-compiling (&key conservative)
   (if (eq *byte-compiling* :maybe)
-      (policy nil (zerop speed) (<= debug 1))
+      (or conservative
+	  (eq *byte-compile* t)
+	  (policy nil (zerop speed) (<= debug 1)))
       (and *byte-compile* *byte-compiling*)))