diff --git a/sflphone-gtk/src/Makefile.am b/sflphone-gtk/src/Makefile.am
index 0813772403b3efe40dd6dc0219425971484d1f65..7e151680e81755212bb99f7133457f826f666195 100644
--- a/sflphone-gtk/src/Makefile.am
+++ b/sflphone-gtk/src/Makefile.am
@@ -12,6 +12,7 @@ sflphone_gtk_SOURCES = \
   menus.c \
   calltab.c \
   calltree.c \
+  historyfilter.c \
   actions.c \
   configwindow.c \
   accountlist.c \
@@ -25,7 +26,7 @@ sflphone_gtk_SOURCES = \
   
 noinst_HEADERS =  actions.h dbus.h sflnotify.h mainwindow.h calllist.h dialpad.h codeclist.h assistant.h\
                   callmanager-glue.h errors.h sflphone_const.h configurationmanager-glue.h instance-glue.h menus.h calltab.h calltree.h configwindow.h \
-                  accountlist.h accountwindow.h marshaller.h sliders.h statusicon.h
+                  historyfilter.h accountlist.h accountwindow.h marshaller.h sliders.h statusicon.h
 EXTRA_DIST   = marshaller.list  
 sflphone_gtk_LDADD = $(DEPS_LIBS) -lnotify
 
diff --git a/sflphone-gtk/src/actions.c b/sflphone-gtk/src/actions.c
index 5f1e7d12c39b7130d83cb886b6b46af6e9a807cd..5b19077c17b80394e66fc95a9101ad66ea949489 100644
--- a/sflphone-gtk/src/actions.c
+++ b/sflphone-gtk/src/actions.c
@@ -193,6 +193,8 @@ sflphone_init()
 	int i;
 	current_calls = calltab_init();
 	history = calltab_init();	
+	histfilter = create_filter(history->store);
+	gtk_tree_view_set_model(GTK_TREE_VIEW(history->view), GTK_TREE_MODEL(histfilter));
 	account_list_init ();
         codec_list_init();
 	if(!dbus_connect ()){
diff --git a/sflphone-gtk/src/calltab.h b/sflphone-gtk/src/calltab.h
index cbeab8f43466e92d6d1726a2dff1993fa1fad03d..dcc47b2605551556b6085ca6b67fab3021697d65 100644
--- a/sflphone-gtk/src/calltab.h
+++ b/sflphone-gtk/src/calltab.h
@@ -23,6 +23,7 @@
 #include <calllist.h>
 #include <gtk/gtk.h>
 
+GtkTreeModel* histfilter;
 
 calltab_t* calltab_init();
 
diff --git a/sflphone-gtk/src/calltree.c b/sflphone-gtk/src/calltree.c
index 6704db7d177a6fb6d3eb095e3ca3fdc8977d2de6..d36b0df598e524254db3bcc951558b000c49756a 100644
--- a/sflphone-gtk/src/calltree.c
+++ b/sflphone-gtk/src/calltree.c
@@ -152,6 +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);
 
 }
 
diff --git a/sflphone-gtk/src/mainwindow.c b/sflphone-gtk/src/mainwindow.c
index 2796d6f51860b1c785f6db7549726b6fceaa1c97..66d6ba0736bccf3b8ac37a7673327b12dd2440b6 100644
--- a/sflphone-gtk/src/mainwindow.c
+++ b/sflphone-gtk/src/mainwindow.c
@@ -27,6 +27,7 @@
 #include <mainwindow.h>
 #include <menus.h>
 #include <sliders.h>
+#include <historyfilter.h>
 
 #include <gtk/gtk.h>