diff --git a/ansi-tests/sxhash.lsp b/ansi-tests/sxhash.lsp
index 7670445d29048cf31a985d3c9c9912dc47f47ca3..8155831e90844975d6cc5d43e8c5f16beb830b67 100644
--- a/ansi-tests/sxhash.lsp
+++ b/ansi-tests/sxhash.lsp
@@ -158,7 +158,9 @@
 	for c2 in '(-0.0s0 -0.0f0 -0.0d0 -0.0l0)
 	for sx1 = (sxhash c1)
 	for sx2 = (sxhash c2)
-	unless (eql sx1 sx2)
+	unless (or (not (typep c1 (type-of c2)))
+		   (not (typep c2 (type-of c1)))
+		   (eql sx1 sx2))
 	collect (list c1 c2 sx1 sx2))
   nil)
 
@@ -169,7 +171,9 @@
 	for c2 = (complex r2)
 	for sx1 = (sxhash c1)
 	for sx2 = (sxhash c2)
-	unless (eql sx1 sx2)
+	unless (or (not (typep c1 (type-of c2)))
+		   (not (typep c2 (type-of c1)))
+		   (eql sx1 sx2))
 	collect (list c1 c2 sx1 sx2))
   nil)
 
@@ -180,7 +184,9 @@
 	for c2 = (complex 0 r2)
 	for sx1 = (sxhash c1)
 	for sx2 = (sxhash c2)
-	unless (eql sx1 sx2)
+	unless (or (not (typep c1 (type-of c2)))
+		   (not (typep c2 (type-of c1)))
+		   (eql sx1 sx2))
 	collect (list c1 c2 sx1 sx2))
   nil)