diff --git a/src/array.c b/src/array.c
index 3c3eb1cede56fe36bd05d03320654f459a569ce1..15a9e0f85dd0f3174d80933cb6e68a4b006fabc6 100644
--- a/src/array.c
+++ b/src/array.c
@@ -23,7 +23,7 @@
 #include "stuff.h"
 #include "bignum.h"
 
-RCSID("$Id: array.c,v 1.110 2001/06/08 10:59:19 hubbe Exp $");
+RCSID("$Id: array.c,v 1.111 2001/06/08 14:42:44 grubba Exp $");
 
 PMOD_EXPORT struct array empty_array=
 {
@@ -34,16 +34,19 @@ PMOD_EXPORT struct array empty_array=
   0,                     /* malloced Size = 0 */
   0,                     /* no types */
   0,			 /* no flags */
+  &empty_array.real_item,/* Initialize the item pointer. */
 };
 PMOD_EXPORT struct array weak_empty_array=
 {
   PIKE_CONSTANT_MEMOBJ_INIT(1),
-  &weak_shrink_empty_array, &empty_array, 0, 0, 0, ARRAY_WEAK_FLAG
+  &weak_shrink_empty_array, &empty_array, 0, 0, 0, ARRAY_WEAK_FLAG,
+  &weak_empty_array.real_item,
 };
 PMOD_EXPORT struct array weak_shrink_empty_array=
 {
   PIKE_CONSTANT_MEMOBJ_INIT(1),
-  &empty_array, &weak_empty_array, 0, 0, 0, ARRAY_WEAK_FLAG|ARRAY_WEAK_SHRINK
+  &empty_array, &weak_empty_array, 0, 0, 0, ARRAY_WEAK_FLAG|ARRAY_WEAK_SHRINK,
+  &weak_shrink_empty_array.real_item,
 };
 
 struct array *gc_internal_array = &empty_array;