diff --git a/code/pred.lisp b/code/pred.lisp
index 1fcb706155498621cec15a9f62caa50355de0687..32e643de93b212e28553c4b89ebbabdbe74ce9aa 100644
--- a/code/pred.lisp
+++ b/code/pred.lisp
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/pred.lisp,v 1.52 2000/05/02 04:44:05 dtc Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/pred.lisp,v 1.53 2000/05/14 03:58:01 dtc Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -423,6 +423,21 @@
 	      (equalp (cdr x) (cdr y))))
 	((pathnamep x)
 	 (and (pathnamep y) (pathname= x y)))
+	((hash-table-p x)
+	 (and (hash-table-p y)
+	      (eql (hash-table-count x) (hash-table-count y))
+	      (eql (hash-table-test x) (hash-table-test y))
+	      (with-hash-table-iterator (next x)
+		(loop
+		 (multiple-value-bind (more x-key x-value)
+		     (next)
+		   (cond (more
+			  (multiple-value-bind (y-value foundp)
+			      (gethash x-key y)
+			    (unless (and foundp (equalp x-value y-value))
+			      (return nil))))
+			 (t
+			  (return t))))))))
 	((%instancep x)
 	 (let* ((layout-x (%instance-layout x))
 		(len (layout-length layout-x)))