diff --git a/code/alieneval.lisp b/code/alieneval.lisp
index 99675174b09bf828e9452c0dedf30c34749fbe4a..0628e1d6d21c9bab7615b58ccfa3fa980eb37e27 100644
--- a/code/alieneval.lisp
+++ b/code/alieneval.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/alieneval.lisp,v 1.32 1993/08/18 21:47:25 ram Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/alieneval.lisp,v 1.33 1993/08/26 15:27:02 wlott Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -1399,11 +1399,11 @@
 ;;;; Runtime C values that don't correspond directly to Lisp types.
 
 ;;; ALIEN-VALUE
-;;; 
-(defstruct (alien-value
-	    (:print-function %print-alien-value))
-  (sap (required-argument) :type system-area-pointer)
-  (type (required-argument) :type alien-type))
+;;;
+;;; The defstruct for alien-value lives in struct.lisp 'cause it has to be
+;;; real early in the cold-load order.
+;;;
+(declaim (freeze-type alien-value))
 ;;;
 (defun %print-alien-value (value stream depth)
   (declare (ignore depth))
@@ -1413,8 +1413,6 @@
 	     (unparse-alien-type (alien-value-type value))
 	     (sap-int (alien-value-sap value)))))
 
-(declaim (freeze-type alien-value))
-
 (declaim (inline null-alien))
 (defun null-alien (x)
   "Return true if X (which must be an Alien pointer) is null, false otherwise."
diff --git a/code/struct.lisp b/code/struct.lisp
index 094036bb302d6d31f16e8bdf681fff207705e6af..b4daec4181f2f75a2b3ad687989fa5632c0187ad 100644
--- a/code/struct.lisp
+++ b/code/struct.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/struct.lisp,v 1.16 1993/04/04 10:00:34 wlott Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/struct.lisp,v 1.17 1993/08/26 15:26:49 wlott Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -50,3 +50,14 @@
                       (:predicate nil)
                       (:print-function condition-print))
   )
+
+
+
+;;; Alien value structures:
+
+(in-package "ALIEN")
+
+(defstruct (alien-value
+	    (:print-function %print-alien-value))
+  (sap (required-argument) :type system-area-pointer)
+  (type (required-argument) :type alien-type))