diff --git a/sflphone-gtk/src/Makefile.am b/sflphone-gtk/src/Makefile.am
index 0eb7fc44a17b213927cff3eefcccd0f41dc8dd57..0a8224e3bb05ff846b894e9c12750dfbf3330ec4 100644
--- a/sflphone-gtk/src/Makefile.am
+++ b/sflphone-gtk/src/Makefile.am
@@ -1,5 +1,8 @@
 bin_PROGRAMS = sflphone-gtk
 
+NOFIFY_LIBS=-lnotify
+SEXY_LIBS=-lsexy
+
 sflphone_gtk_SOURCES = \
   main.c \
   errors.c \
@@ -28,7 +31,7 @@ noinst_HEADERS =  actions.h dbus.h sflnotify.h mainwindow.h calllist.h dialpad.h
                   callmanager-glue.h errors.h sflphone_const.h configurationmanager-glue.h instance-glue.h menus.h calltab.h calltree.h configwindow.h \
                   historyfilter.h accountlist.h accountwindow.h marshaller.h sliders.h statusicon.h timestamp.h
 EXTRA_DIST   = marshaller.list  
-sflphone_gtk_LDADD = $(DEPS_LIBS) -lnotify
+sflphone_gtk_LDADD = $(DEPS_LIBS) $(NOTIFY_LIBS) $(SEXY_LIBS)
 
 AM_CPPFLAGS = $(DEPS_CFLAGS) \
               -DICONS_DIR=\""$(datadir)/sflphone"\" \
diff --git a/sflphone-gtk/src/calltree.c b/sflphone-gtk/src/calltree.c
index c6eff868684cfb2a9cf579ccaf92c597aaf00088..4d2a10ae8395e88b1d49edceec14ac667e04dbdf 100644
--- a/sflphone-gtk/src/calltree.c
+++ b/sflphone-gtk/src/calltree.c
@@ -152,7 +152,7 @@ toggle_history(GtkToggleToolButton *toggle_tool_button,
 	sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (active_calltree->view));
 	g_signal_emit_by_name(sel, "changed");
 	toolbar_update_buttons();
-	gtk_tree_model_filter_refilter(histfilter);
+	gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(histfilter));
 
 }
 
diff --git a/sflphone-gtk/src/historyfilter.c b/sflphone-gtk/src/historyfilter.c
index e058c5d660a1c3a7a6be1c47aa0f0bb8917e4d2d..37d3796d3ddebac970d6c8c0e653362cb0b58c15 100644
--- a/sflphone-gtk/src/historyfilter.c
+++ b/sflphone-gtk/src/historyfilter.c
@@ -17,7 +17,6 @@
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
-#include <gtk/gtk.h>
 #include <historyfilter.h>
 #include <calltree.h>
 
@@ -34,7 +33,7 @@ is_visible(GtkTreeModel* model, GtkTreeIter* iter, gpointer data)
 {
 	GValue val = {0, };
 	gchar* text;
-	gchar* search = gtk_entry_get_text(GTK_ENTRY(filter_entry));
+	gchar* search = (gchar*)gtk_entry_get_text(GTK_ENTRY(filter_entry));
 	gtk_tree_model_get_value(GTK_TREE_MODEL(model), iter, 1, &val);
 	if(G_VALUE_HOLDS_STRING(&val)){
 		text = (gchar *)g_value_get_string(&val);
@@ -68,21 +67,19 @@ clear_filter_entry(GtkButton* button,
 }
 
 GtkWidget*
-create_filter_entry()
+create_filter_entry() 
 {
-	GtkWidget* clear_button = gtk_button_new();
+	GtkWidget* image;
 	GtkWidget* ret = gtk_hbox_new(FALSE, 0);
-	GtkWidget* clear_img = gtk_image_new_from_stock(GTK_STOCK_CLEAR, GTK_ICON_SIZE_SMALL_TOOLBAR);
-
-	gtk_button_set_image(GTK_BUTTON(clear_button), clear_img);
-	g_signal_connect(GTK_BUTTON(clear_button), "clicked", G_CALLBACK(clear_filter_entry), NULL);
-
-	filter_entry = gtk_entry_new();
+      
+	filter_entry = sexy_icon_entry_new();
+	image = gtk_image_new_from_stock( GTK_STOCK_FIND , GTK_ICON_SIZE_SMALL_TOOLBAR);
+	sexy_icon_entry_set_icon( SEXY_ICON_ENTRY(filter_entry), SEXY_ICON_ENTRY_PRIMARY , GTK_IMAGE(image) ); 
+	sexy_icon_entry_add_clear_button( SEXY_ICON_ENTRY(filter_entry) );
 	gtk_entry_set_text(GTK_ENTRY(filter_entry), "Search");	
 	g_signal_connect(GTK_ENTRY(filter_entry), "changed", G_CALLBACK(filter_entry_changed), NULL);
 	g_signal_connect(GTK_ENTRY(filter_entry), "grab-focus", G_CALLBACK(clear_filter_entry_if_default), NULL);
 
 	gtk_box_pack_start(GTK_BOX(ret), filter_entry, TRUE, TRUE, 0);
-	gtk_box_pack_start(GTK_BOX(ret), clear_button, FALSE, FALSE, 0);
 	return ret;
 }
diff --git a/sflphone-gtk/src/historyfilter.h b/sflphone-gtk/src/historyfilter.h
index 744cdd2ba566c5fffbb1a1ef38796b6e750c3735..2fd81ea25f136cae6b119186acc9dbae332e790f 100644
--- a/sflphone-gtk/src/historyfilter.h
+++ b/sflphone-gtk/src/historyfilter.h
@@ -22,6 +22,7 @@
 
 #include <calllist.h>
 #include <gtk/gtk.h>
+#include <libsexy/sexy-icon-entry.h>