--- src/parse.y.orig	2007-03-09 18:46:14.000000000 +0100
+++ src/parse.y	2008-01-21 01:30:42.000000000 +0100
@@ -770,10 +770,10 @@
 						}
 	;
 
-classdec:	CLASS TYPETOKEN FROM TYPETOKEN	classflags {
+classdec:	CLASS TYPETOKEN classbase classflags {
 			class = node_new (CLASS_NODE,
 					  "otype:steal", $<id>2,
-					  "ptype:steal", $<id>4,
+					  "ptype:steal", $<id>3,
 					  "bonobo_object_class:steal", bonobo_object_class,
 					  "glade_xml", glade_xml,
 					  "interfaces:steal", interfaces,
@@ -787,6 +787,15 @@
 						}
 	;
 
+classbase:
+		/* empty */ {
+		  $<id>$ = g_strdup("G:Object");
+		}
+	|	FROM TYPETOKEN {
+		  $<id>$ = $<id>2;
+		}
+	;
+
 classflags:
 	| '(' TOKEN ')' classflags {
 			if(strcmp($<id>2,"abstract") == 0) {

