diff --git a/ChangeLog b/ChangeLog
index 101f772da..783e804a8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2005-05-04  Todd Berman  <tberman@off.net>
+
+	* glade/XML.custom: Store the callback wrapper so it doesn't get GC'd.
+
 2005-05-04  Dan Winship  <danw@novell.com>
 
 	* parser/gapi2xml.pl: make note of _get_type methods for enums
diff --git a/glade/XML.custom b/glade/XML.custom
index 74f33fdaf..79e1ccd45 100644
--- a/glade/XML.custom
+++ b/glade/XML.custom
@@ -32,8 +32,8 @@
 
 		public static Glade.XMLCustomWidgetHandler CustomHandler { 
 			set {
-				GladeSharp.XMLCustomWidgetHandlerWrapper value_wrapper = new GladeSharp.XMLCustomWidgetHandlerWrapper (value);
-				glade_set_custom_handler(value_wrapper.NativeDelegate, IntPtr.Zero);
+				callback_wrapper = new GladeSharp.XMLCustomWidgetHandlerWrapper (value);
+				glade_set_custom_handler(callback_wrapper.NativeDelegate, IntPtr.Zero);
 			}
 		}