diff --git a/pcl/std-class.lisp b/pcl/std-class.lisp
index 482dc3db78be53c2c08483b75b9728cfa8a2bf3a..1a08ecf0faffd707bb6d7509c477c84bfdbf6ce3 100644
--- a/pcl/std-class.lisp
+++ b/pcl/std-class.lisp
@@ -26,7 +26,7 @@
 ;;;
 
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/std-class.lisp,v 1.47 2003/03/30 00:48:10 gerd Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/std-class.lisp,v 1.48 2003/03/30 21:17:03 gerd Exp $")
 
 (in-package :pcl)
 
@@ -630,7 +630,8 @@
 		  ,@readers-init ,@writers-init)))
 	(unless (structure-type-p name) (eval defstruct-form))
 	(mapc (lambda (dslotd reader-name writer-name)
-		(let* ((reader (gdefinition reader-name))
+		(let* ((reader (when (fboundp reader-name)
+				 (gdefinition reader-name)))
 		       (writer (when (fboundp writer-name)
 				 (gdefinition writer-name))))
 		  (setf (slot-value dslotd 'internal-reader-function) reader)