diff --git a/lisp/print.c b/lisp/print.c
index e307ee32203bd9dfd21be5edb0c59a3214f47d66..a70de3952fc5cb51c72a92cbf2a28738eb06b662 100644
--- a/lisp/print.c
+++ b/lisp/print.c
@@ -1,4 +1,4 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/print.c,v 1.12 2000/09/05 09:32:31 dtc Exp $ */
+/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/print.c,v 1.13 2001/01/09 19:46:57 dtc Exp $ */
 #include <stdio.h>
 
 #include "print.h"
@@ -510,7 +510,6 @@ static void print_otherptr(lispobj obj)
                 break;
 
             case type_SimpleVector:
-            case type_InstanceHeader:
                 NEWLINE;
                 printf("length = %ld", length);
                 ptr++;
@@ -521,6 +520,16 @@ static void print_otherptr(lispobj obj)
                 }
                 break;
 
+            case type_InstanceHeader:
+                NEWLINE;
+                printf("length = %ld", count);
+                index = 0;
+                while (count-- > 0) {
+                    sprintf(buffer, "%d: ", index++);
+                    print_obj(buffer, *ptr++);
+                }
+                break;
+
             case type_SimpleArray:
             case type_SimpleBitVector:
             case type_SimpleArrayUnsignedByte2: