diff --git a/plugins/gtkgui/gtkgui.glade b/plugins/gtkgui/gtkgui.glade
index 67718987fdeedbf45d37c5fb7be67f3f34bd9171..6111acccc0887a2a41dfa71590386998bb2a4a4e 100644
--- a/plugins/gtkgui/gtkgui.glade
+++ b/plugins/gtkgui/gtkgui.glade
@@ -2,7 +2,6 @@
 <!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
 
 <glade-interface>
-<requires lib="gnome"/>
 
 <widget class="GtkWindow" id="Gajim">
   <property name="visible">True</property>
@@ -429,6 +428,7 @@
 	      <property name="visible">True</property>
 	      <property name="can_focus">True</property>
 	      <property name="relief">GTK_RELIEF_NORMAL</property>
+	      <signal name="clicked" handler="on_clear_button_clicked" last_modification_time="Thu, 01 Jan 2004 06:12:56 GMT"/>
 
 	      <child>
 		<widget class="GtkAlignment" id="alignment5">
diff --git a/plugins/gtkgui/gtkgui.py b/plugins/gtkgui/gtkgui.py
index a24ecf95bcc532dfe2a1fb3f9845f65f3f43036b..61fe3534f1de07335b9a9ea9b6a2efbe51ce8670 100644
--- a/plugins/gtkgui/gtkgui.py
+++ b/plugins/gtkgui/gtkgui.py
@@ -557,6 +557,10 @@ class message:
 			return 1
 		return 0
 
+	def on_clear(self, widget):
+		deb, end = self.convTxtBuffer.get_bounds()
+		self.convTxtBuffer.delete(deb, end)
+
 	def __init__(self, user, roster):
 		self.user = user
 		self.r = roster
@@ -576,6 +580,7 @@ class message:
 		self.convTxtBuffer.create_mark('end', end_iter, 0)
 #		self.window.show()
 		self.xml.signal_connect('gtk_widget_destroy', self.delete_event)
+		self.xml.signal_connect('on_clear_button_clicked', self.on_clear)
 		self.xml.signal_connect('on_msg_key_press_event', self.on_msg_key_press_event)
 		self.tagIn = self.convTxtBuffer.create_tag("incoming")
 		color = self.cfgParser.GtkGui_inmsgcolor