diff --git a/ChangeLog b/ChangeLog
index 66dbc8fb6..82f2d45e6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-05-13  Mike Kestner  <mkestner@novell.com>
+
+	* generator/MethodBody.cs : don't create a new destroy notify
+	delegate, just use GLib.DestroyHelper.NotifyHandler directly.
+
 2005-05-11  Mike Kestner  <mkestner@novell.com>
 
 	* glib/Object.cs : mark Dispose virtual.
diff --git a/generator/MethodBody.cs b/generator/MethodBody.cs
index 73b1522d1..43d0ef68b 100644
--- a/generator/MethodBody.cs
+++ b/generator/MethodBody.cs
@@ -152,7 +152,7 @@ namespace GtkSharp.Generation {
 
 						sw.WriteLine (indent + "\t\t\t\t{0}_wrapper = new {1} ({0});", name, wrapper);
 						sw.WriteLine (indent + "\t\t\t\t{0} = (IntPtr) GCHandle.Alloc ({1}_wrapper);", parameters [i + 1].Name, name);
-						sw.WriteLine (indent + "\t\t\t\t{0} = new {1} (GLib.DestroyHelper.NotifyHandler);", parameters [i + 2].Name, parameters [i + 2].CSType);
+						sw.WriteLine (indent + "\t\t\t\t{0} = GLib.DestroyHelper.NotifyHandler;", parameters [i + 2].Name, parameters [i + 2].CSType);
 						sw.WriteLine (indent + "\t\t\t}");
 						break;