diff --git a/code/signal.lisp b/code/signal.lisp
index fb55c1c3dd388e51959fb2ea9009d5a63c2a3683..ef6900176360f6c6674edf782c521629dada68f2 100644
--- a/code/signal.lisp
+++ b/code/signal.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman (FAHLMAN@CMUC). 
 ;;; **********************************************************************
 ;;;
-;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/signal.lisp,v 1.7 1990/10/14 19:08:58 ram Exp $
+;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/signal.lisp,v 1.8 1990/11/16 04:35:34 wlott Exp $
 ;;;
 ;;; Code for handling UNIX signals.
 ;;; 
@@ -27,6 +27,8 @@
 (defconstant sig_dfl 0)
 (defconstant sig_ign 1)
 
+(proclaim '(special lisp::lisp-command-line-list))
+
 
 
 ;;;; Utilities for dealing with signal names and numbers.
@@ -222,9 +224,10 @@
 			       scp)
 		   mach:sigcontext
 		   t))
-       (,function ,(concatenate 'simple-string what " at #x~x.")
-		  (sap-int
-		   (alien-access (mach:sigcontext-pc (alien-value sc))))))))
+       (system:without-hemlock
+	(,function ,(concatenate 'simple-string what " at #x~x.")
+		   (sap-int
+		    (alien-access (mach:sigcontext-pc (alien-value sc)))))))))
 
 (define-signal-handler sigint-handler "Interrupted" break)
 (define-signal-handler sigill-handler "Illegal Instruction")
@@ -242,7 +245,8 @@
 
 (defun signal-init ()
   "Enable all the default signals that Lisp knows how to deal with."
-  #+nil (enable-interrupt :sigint #'sigint-handler)
+  (unless (member "-monitor" lisp::lisp-command-line-list :test #'string=)
+    (enable-interrupt :sigint #'sigint-handler))
   (enable-interrupt :sigquit #'sigquit-handler)
   (enable-interrupt :sigill #'sigill-handler)
   (enable-interrupt :sigtrap #'kernel::internal-error)