diff --git a/code/package.lisp b/code/package.lisp
index 2a50f9adac5555f46b63c2d0f3d1726b4dac892e..2d9b5a24869d3a25585119f4c4301f46cd214423 100644
--- a/code/package.lisp
+++ b/code/package.lisp
@@ -208,9 +208,7 @@
   (let* ((vec (package-hashtable-table table))
 	 (hash (package-hashtable-hash table))
 	 (len (length vec))
-	 (sxhash (truly-the index
-			    (%primitive sxhash-simple-string
-					(symbol-name symbol))))
+	 (sxhash (%sxhash-simple-string (symbol-name symbol)))
 	 (h2 (the fixnum (1+ (the fixnum (rem sxhash
 					      (the fixnum (- len 2))))))))
     (declare (simple-vector vec)
@@ -289,8 +287,7 @@
 (defun nuke-symbol (table string)
   (declare (simple-string string))
   (let* ((length (length string))
-	 (hash (truly-the index
-			  (%primitive sxhash-simple-string string)))
+	 (hash (%sxhash-simple-string string))
 	 (ehash (entry-hash length hash)))
     (declare (fixnum length hash))
     (with-symbol (index symbol table string length hash ehash)
@@ -586,8 +583,7 @@
 (defun find-symbol* (string length package)
   (declare (simple-string string)
 	   (fixnum length))
-  (let* ((hash (truly-the index
-			  (%primitive sxhash-simple-substring string length)))
+  (let* ((hash (%sxhash-simple-substring string length))
 	 (ehash (entry-hash length hash)))
     (declare (fixnum hash ehash))
     (with-symbol (found symbol (package-internal-symbols package)
@@ -617,7 +613,7 @@
 (defun find-external-symbol (string package)
   (declare (simple-string string))
   (let* ((length (length string))
-	 (hash (truly-the index (%primitive sxhash-simple-string string)))
+	 (hash (%sxhash-simple-string string))
 	 (ehash (entry-hash length hash)))
     (declare (fixnum length hash))
     (with-symbol (found symbol (package-external-symbols package)