diff --git a/src/pike_types.c b/src/pike_types.c
index c19dd598b83919158d160f6410b1632862545709..16a0aa58b04d42c30ce24016fe2c6ab6c5398315 100644
--- a/src/pike_types.c
+++ b/src/pike_types.c
@@ -4,7 +4,7 @@
 ||| See the files COPYING and DISCLAIMER for more information.
 \*/
 #include "global.h"
-RCSID("$Id: pike_types.c,v 1.30 1998/01/26 19:59:58 hubbe Exp $");
+RCSID("$Id: pike_types.c,v 1.31 1998/02/20 00:55:23 hubbe Exp $");
 #include <ctype.h>
 #include "svalue.h"
 #include "pike_types.h"
@@ -928,7 +928,7 @@ static struct pike_string *debug_low_index_type(char *t, node *n)
   case T_OBJECT:
   {
     struct program *p=id_to_program(EXTRACT_INT(t));
-    if(p)
+    if(p && n)
     {
       if(n->token == F_ARROW)
       {
@@ -993,7 +993,7 @@ static struct pike_string *debug_low_index_type(char *t, node *n)
     return make_shared_binary_string(t, type_length(t));
 
   case T_ARRAY:
-    if(low_match_types(string_type_string->str,CDR(n)->type->str,0))
+    if(n && low_match_types(string_type_string->str,CDR(n)->type->str,0))
     {
       struct pike_string *a=low_index_type(t,n);
       if(!a)