diff --git a/po/fr.po b/po/fr.po
index 2beb3d9eb8a518e9ab9623d1929e8dcb751e2458..c79d4c5f8116fe2afe4f11851db9564e8368856f 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -67,6 +67,18 @@ msgstr "_Assistant SFLphone"
 msgid "_Accounts"
 msgstr "Co_mptes"
 
+#: sflphone-gtk/src/menus.c: 523
+msgid "_Clear history"
+msgstr "Effacer l'historique"
+
+#: sflphone-gtk/src/menus.c: 523
+msgid "History empty"
+msgstr "L'historique est vide"
+
+#: sflphone-gtk/src/menus.c: 523
+msgid "Clear the call history?"
+msgstr "Effacer l'historique des appels?"
+
 #: sflphone-gtk/src/menus.c: 438
 msgid "_Edit"
 msgstr "_Options"
diff --git a/po/sflphone.pot b/po/sflphone.pot
index 95a0deb37b52c0d4ab6e26863ed503d15f561c2d..e8c3ba7b8cd87cf41f70d51cb2fee0ab8f21a62d 100644
--- a/po/sflphone.pot
+++ b/po/sflphone.pot
@@ -65,6 +65,10 @@ msgstr ""
 msgid "_Accounts"
 msgstr ""
 
+#: sflphone-gtk/src/menus.c: 523
+msgid "_Clear history"
+msgstr ""
+
 #: sflphone-gtk/src/menus.c: 438
 msgid "_Edit"
 msgstr ""
diff --git a/sflphone-gtk/src/menus.c b/sflphone-gtk/src/menus.c
index c4e35a202d05aca78c9e44fd16312c7eae861ef8..bb24a9b2b814484ceeff968b1651dce9e37f3e99 100644
--- a/sflphone-gtk/src/menus.c
+++ b/sflphone-gtk/src/menus.c
@@ -37,6 +37,8 @@ GtkWidget * newCallMenu;
 GtkWidget * holdMenu;
 GtkWidget * copyMenu;
 GtkWidget * pasteMenu;
+GtkWidget * clearhistoryMenu;
+
 guint holdConnId;     //The hold_menu signal connection ID
 
 GtkWidget * dialpadMenu;
@@ -482,12 +484,46 @@ edit_paste ( void * foo)
     update_call_tree(current_calls,selectedCall);
   }
 
+}
+
+  static void
+clear_history( void* foo )
+{
+  gchar *markup;
+  GtkWidget *dialog;
+  int response;
+
+  if( call_list_get_size( history ) == 0 ){
+    markup = g_markup_printf_escaped(_("History empty"));
+    dialog = gtk_message_dialog_new_with_markup ( GTK_WINDOW(get_main_window()),
+							    GTK_DIALOG_DESTROY_WITH_PARENT,
+							    GTK_MESSAGE_INFO,
+							    GTK_BUTTONS_OK,
+							    markup);
+    response = gtk_dialog_run (GTK_DIALOG(dialog));
+    gtk_widget_destroy (GTK_WIDGET(dialog));
+  }
+  else{  
+    markup = g_markup_printf_escaped(_("Clear the call history?"));
+    dialog = gtk_message_dialog_new_with_markup ( GTK_WINDOW(get_main_window()),
+							    GTK_DIALOG_DESTROY_WITH_PARENT,
+							    GTK_MESSAGE_INFO,
+							    GTK_BUTTONS_YES_NO,
+							    markup);
+    response = gtk_dialog_run (GTK_DIALOG(dialog));
+    gtk_widget_destroy (GTK_WIDGET(dialog));
+    if (response == GTK_RESPONSE_YES)
+    {
+      call_list_clean_history();
+    }
+  }
 }
 
   GtkWidget * 
 create_edit_menu()
 {
   GtkWidget * menu;
+  GtkWidget * image;
   GtkWidget * root_menu;
   GtkWidget * menu_items;
 
@@ -510,6 +546,18 @@ create_edit_menu()
   menu_items = gtk_separator_menu_item_new ();
   gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items);
 
+  menu_items = gtk_image_menu_item_new_with_mnemonic(_("_Clear history"));
+  image = gtk_image_new_from_stock( GTK_STOCK_CLEAR , GTK_ICON_SIZE_MENU );
+  gtk_image_menu_item_set_image( GTK_IMAGE_MENU_ITEM ( menu_items ), image );
+  gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items);
+  g_signal_connect_swapped (G_OBJECT (menu_items), "activate",
+      G_CALLBACK (clear_history), 
+      NULL);
+  gtk_widget_show (menu_items);  
+
+  menu_items = gtk_separator_menu_item_new ();
+  gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items);
+
   menu_items = gtk_menu_item_new_with_mnemonic( _("_Accounts") );
   gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items);
   g_signal_connect_swapped (G_OBJECT (menu_items), "activate",