diff --git a/ChangeLog b/ChangeLog
index 88ef5e008932e0e900d74c22c992b961e821bce3..480b1d8c87e7f56dd650dc98e7de56f2616c60db 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2005-10-05  Matthias Clasen  <mclasen@redhat.com>
 
+	* gtk/gtkrc.c (gtk_rc_clear_realized_style): Readd the memory
+	leak fix, since the assertion failures were traced to 
+	an xchat bug.  (#314696)
+	
 	* gtk/gtkstyle.c (gtk_style_detach):
 	(gtk_style_attach):  Documentation improvements.
 	(gtk_style_detach): Assert that the attach_count is > 0.
diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10
index 88ef5e008932e0e900d74c22c992b961e821bce3..480b1d8c87e7f56dd650dc98e7de56f2616c60db 100644
--- a/ChangeLog.pre-2-10
+++ b/ChangeLog.pre-2-10
@@ -1,5 +1,9 @@
 2005-10-05  Matthias Clasen  <mclasen@redhat.com>
 
+	* gtk/gtkrc.c (gtk_rc_clear_realized_style): Readd the memory
+	leak fix, since the assertion failures were traced to 
+	an xchat bug.  (#314696)
+	
 	* gtk/gtkstyle.c (gtk_style_detach):
 	(gtk_style_attach):  Documentation improvements.
 	(gtk_style_detach): Assert that the attach_count is > 0.
diff --git a/gtk/gtkrc.c b/gtk/gtkrc.c
index ee0899d3e630220dd929dd8648e2348aabc025d7..f13886395e3b775a0b9f63d682e2829e9ac62343 100644
--- a/gtk/gtkrc.c
+++ b/gtk/gtkrc.c
@@ -1336,7 +1336,10 @@ gtk_rc_clear_realized_style (gpointer key,
 			     gpointer data)
 {
   GSList *rc_styles = key;
+  GtkStyle *style = value;
   GSList *tmp_list = rc_styles;
+
+  g_object_unref (style);
  
   while (tmp_list)
     {