diff --git a/code/pathname.lisp b/code/pathname.lisp
index cf77f0c037c494fde3d26810c09377b08c61052b..ed8b000ff3d16a34eb0f153901c5a07c79db1c64 100644
--- a/code/pathname.lisp
+++ b/code/pathname.lisp
@@ -4,7 +4,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/pathname.lisp,v 1.31 1997/06/06 06:48:14 dtc Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/pathname.lisp,v 1.32 1997/10/02 18:31:50 dtc Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -87,7 +87,7 @@
   ;; Slot holds the host, at present either a UNIX or logical host.
   (host nil :type (or host null))
   ;; Device is the name of a logical or physical device holding files.
-  (device nil :type component-tokens)
+  (device nil :type (or simple-string component-tokens))
   ;; A list of strings that are the component subdirectory components.
   (directory nil :type list)
   ;; The filename.
@@ -611,7 +611,7 @@
   "Makes a new pathname from the component arguments.  Note that host is
 a host-structure or string."
   (declare (type (or string host component-tokens) host)
-	   (type component-tokens device)
+	   (type (or string component-tokens) device)
 	   (type (or list string pattern component-tokens) directory)
 	   (type (or string pattern component-tokens) name type)
 	   (type (or integer component-tokens (member :newest)) version)
diff --git a/compiler/fndb.lisp b/compiler/fndb.lisp
index 0642d6e6876fc3f814899007fe70e3a0d9ebc37a..e1c6497f1695bef1cf4ee80bd3930ff9d5ec8d15 100644
--- a/compiler/fndb.lisp
+++ b/compiler/fndb.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/compiler/fndb.lisp,v 1.73 1997/09/03 20:27:11 dtc Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/fndb.lisp,v 1.74 1997/10/02 18:31:58 dtc Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -948,7 +948,7 @@
 (defknown make-pathname
  (&key (:defaults pathnamelike)
        (:host (or string pathname-host))
-       (:device pathname-device)
+       (:device (or string pathname-device))
        (:directory (or pathname-directory string (member :wild)))
        (:name (or pathname-name string (member :wild)))
        (:type (or pathname-type string (member :wild)))
diff --git a/compiler/generic/vm-type.lisp b/compiler/generic/vm-type.lisp
index 9e44b9690e73b5bf75197bf6eae1960d3b94e2cd..b90f6a9c4d43e58ac23c56a4a5307c3f5833e522 100644
--- a/compiler/generic/vm-type.lisp
+++ b/compiler/generic/vm-type.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/compiler/generic/vm-type.lisp,v 1.32 1997/04/01 19:24:09 dtc Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/generic/vm-type.lisp,v 1.33 1997/10/02 18:32:03 dtc Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -59,7 +59,7 @@
 ;;;
 ;;; Pathname pieces, as returned by the PATHNAME-xxx functions.
 (deftype pathname-host () '(or lisp::host null))
-(deftype pathname-device () '(member nil :unspecific))
+(deftype pathname-device () '(or simple-string (member nil :unspecific)))
 (deftype pathname-directory () 'list)
 (deftype pathname-name ()
   '(or simple-string lisp::pattern (member nil :unspecific :wild)))