diff --git a/hemlock/diredcoms.lisp b/hemlock/diredcoms.lisp
index 97911dd011d8eaa0230162ae7d634c86a6e5a91f..082d7458a8e1470a1be87af77990531f5318ef66 100644
--- a/hemlock/diredcoms.lisp
+++ b/hemlock/diredcoms.lisp
@@ -785,7 +785,7 @@
 ;;; one directory.
 ;;;
 (defun dired-directorify (pathname)
-  (let ((directory (lisp::predict-name pathname t)))
+  (let ((directory (ext:unix-namestring pathname)))
     (if (directoryp directory)
 	directory
 	(pathname (concatenate 'simple-string (namestring directory) "/")))))
diff --git a/hemlock/spell-build.lisp b/hemlock/spell-build.lisp
index 49a92211cc2776543c21fac8bce1f8405394789a..0357b6ad3fbbf011c2761934d01a1154afbe5333 100644
--- a/hemlock/spell-build.lisp
+++ b/hemlock/spell-build.lisp
@@ -225,7 +225,7 @@
   (declare (type (array (unsigned-byte 16) (*)) dictionary descriptors)
 	   (simple-string string-table)
 	   (fixnum string-table-length))
-  (let ((filename (lisp::predict-name (namestring (pathname f)) nil)))
+  (let ((filename (ext:unix-namestring (pathname f) nil)))
     (with-open-file (s filename :direction :output
 		       :element-type '(unsigned-byte 16)
 		       :if-exists :overwrite
diff --git a/hemlock/spell-rt.lisp b/hemlock/spell-rt.lisp
index 555f0a7205f42d239437248a965951359d57921a..9f908f14bc1b8e1afc8ae291d996d46f256caa41 100644
--- a/hemlock/spell-rt.lisp
+++ b/hemlock/spell-rt.lisp
@@ -72,9 +72,9 @@
 ;;;; Binary Dictionary File I/O
 
 (defun open-dictionary (f)
-  (multiple-value-bind (filename existsp)
-		       (lisp::predict-name f :for-input)
-    (unless existsp (error "Cannot find dictionary -- ~S." filename))
+  (let* ((filename (ext:unix-namestring f))
+	 (kind (mach:unix-file-kind filename)))
+    (unless kind (error "Cannot find dictionary -- ~S." filename))
     (multiple-value-bind (fd err)
 			 (mach:unix-open filename mach:o_rdonly 0)
       (unless fd