diff --git a/ChangeLog b/ChangeLog
index 2433b7175..bc8c2f550 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-04-25  Mike Kestner  <mkestner@novell.com>
+
+	* generator/OpaqueGen.cs: support abstract opaque classes,
+	though I have no idea why anyone would want one.
+	[Fixes #494212] Revised patch from Sebastian Dröge.
+
 2009-04-25  Mike Kestner  <mkestner@novell.com>
 
 	* parser/gapi-fixup.cs: add remove-attr and change-node-type
diff --git a/generator/OpaqueGen.cs b/generator/OpaqueGen.cs
index 5bc640334..55735415c 100644
--- a/generator/OpaqueGen.cs
+++ b/generator/OpaqueGen.cs
@@ -63,7 +63,7 @@ namespace GtkSharp.Generation {
 
 			if (IsDeprecated)
 				sw.WriteLine ("\t[Obsolete]");
-			sw.Write ("\t{0} class " + Name, IsInternal ? "internal" : "public");
+			sw.Write ("\t{0}{1}class " + Name, IsInternal ? "internal " : "public ", IsAbstract ? "abstract " : String.Empty);
 			string cs_parent = table.GetCSType(Elem.GetAttribute("parent"));
 			if (cs_parent != "")
 				sw.Write (" : " + cs_parent);