diff --git a/src/pike_types.c b/src/pike_types.c
index c3253792f85e4b73497c66775102808d1f683276..098e9e0f38bb5cfafa014f563696bafbb6acb601 100644
--- a/src/pike_types.c
+++ b/src/pike_types.c
@@ -5,7 +5,7 @@
 \*/
 /**/
 #include "global.h"
-RCSID("$Id: pike_types.c,v 1.75 1999/11/25 01:01:44 grubba Exp $");
+RCSID("$Id: pike_types.c,v 1.76 1999/11/25 04:25:42 hubbe Exp $");
 #include <ctype.h>
 #include "svalue.h"
 #include "pike_types.h"
@@ -248,7 +248,8 @@ void push_unfinished_type(char *s)
   for(e--;e>=0;e--) push_type(s[e]);
 }
 
-static void push_unfinished_type_with_markers(char *s, struct pike_string **am)
+static void push_unfinished_type_with_markers(char *s,
+					      struct pike_string **am)
 {
   int d,e,c,len=type_length(s);
   type_stack_mark();
@@ -268,8 +269,12 @@ static void push_unfinished_type_with_markers(char *s, struct pike_string **am)
 	break;
 #endif
       case T_ASSIGN:
+#if 1
+	e++;
+#else
 	push_type(c);
 	push_type(EXTRACT_UCHAR(s+ ++e));
+#endif
 	break;
 
       case T_INT: