diff --git a/src/las.c b/src/las.c
index 8e68e53545e42ef0baa1b05cfba2389ba8cff7fa..ae592f52ce3ebc79824b81ce3c56e50effcc3ab4 100644
--- a/src/las.c
+++ b/src/las.c
@@ -2,7 +2,7 @@
 || This file is part of Pike. For copyright information see COPYRIGHT.
 || Pike is distributed under GPL, LGPL and MPL. See the file COPYING
 || for more information.
-|| $Id: las.c,v 1.404 2008/01/28 18:41:50 grubba Exp $
+|| $Id: las.c,v 1.405 2008/02/26 21:51:37 grubba Exp $
 */
 
 #include "global.h"
@@ -3472,12 +3472,14 @@ void fix_type_field(node *n)
 		     array_type, CAR(n)->type, 0);
       }
       free_type(array_type);
+      /* FIXME: The type field of the splice operator is not yet utilized.
+       *
+       * It probably ought to be something similar to MANY(..., VOID).
+       */
+      n->type = index_type(CAR(n)->type, int_type_string, n);
+    } else {
+      copy_pike_type(n->type, mixed_type_string);
     }
-    /* FIXME: The type field of the splice operator is not yet utilized.
-     *
-     * It probably ought to be something similar to MANY(..., VOID).
-     */
-    n->type = index_type(CAR(n)->type, int_type_string, n);
     break;
 
   case F_AUTO_MAP_MARKER: