diff --git a/sflphone-client-gnome/src/contacts/addressbook.c b/sflphone-client-gnome/src/contacts/addressbook.c
index d6d40876fa2b72553bf1e098a5425096d1216aa7..2d202a05f110bdf1e460f55074a3ce8d5594bc7e 100644
--- a/sflphone-client-gnome/src/contacts/addressbook.c
+++ b/sflphone-client-gnome/src/contacts/addressbook.c
@@ -113,9 +113,7 @@ addressbook_config_books()
             book_data = books_get_book_data_by_uid (*config_book_uid);
 
             // If book_data exists
-            if (book_data)
-                book_data->active = TRUE;
-            else
+            if (!book_data)
                 ERROR ("Addressbook: Error: Could not open book");
         }
 
diff --git a/sflphone-client-gnome/src/contacts/addressbook/eds.c b/sflphone-client-gnome/src/contacts/addressbook/eds.c
index c4b89b5ac32e9b20e16bbc00005d6128ebd6269a..2e5b879ca189e151f90afaa94d02eadcea84d7ba 100644
--- a/sflphone-client-gnome/src/contacts/addressbook/eds.c
+++ b/sflphone-client-gnome/src/contacts/addressbook/eds.c
@@ -68,6 +68,7 @@ int remaining_books_to_open;
  */
 static gchar *current_uri = NULL;
 static gchar *current_uid = NULL;
+static gchar *current_name = NULL;
 
 /**
  * Freeing a hit instance
@@ -450,10 +451,17 @@ init (OpenAsyncHandler callback UNUSED)
         current_uid = NULL;
     }
 
+    if (current_name) {
+        g_free (current_name);
+        current_name = NULL;
+    }
+
     gchar *absuri, *reluri;
     absuri = g_strdup (e_source_peek_absolute_uri (default_source));
     reluri = g_strdup (e_source_peek_relative_uri (default_source));
 
+    current_name = g_strdup (e_source_peek_name (default_source));
+
     current_uid = g_strdup (e_source_peek_uid (default_source));
 
     if (strcmp (absuri+strlen (absuri)-1, "/") == 0)
@@ -499,7 +507,6 @@ fill_books_data ()
         ESourceGroup *group = l->data;
         GSList *sources = NULL, *m;
         gchar *absuri;
-        GError *err;
 
         absuri = g_strdup (e_source_group_peek_base_uri (group));
 
@@ -519,8 +526,6 @@ fill_books_data ()
             else
                 book_data->uri = g_strjoin ("/", absuri, e_source_peek_relative_uri (source), NULL);
 
-            book_data->ebook = e_book_new (source, &err);
-
             books_data = g_slist_prepend (books_data, book_data);
 
         }
@@ -604,6 +609,17 @@ set_current_addressbook (const gchar *name)
         if (strcmp (book_data->name, name) == 0) {
             current_uri = book_data->uri;
             current_uid = book_data->uid;
+            current_name = book_data->name;
         }
     }
 }
+
+
+const gchar *
+get_current_addressbook (void)
+{
+    if (current_name)
+        return current_name;
+    else
+        return "Default";
+}
diff --git a/sflphone-client-gnome/src/contacts/addressbook/eds.h b/sflphone-client-gnome/src/contacts/addressbook/eds.h
index 4cac91d1be8f1d711a16553bbeff3975ed9af394..6e4ca02177da61f5486ca28af1d8699de8156471 100644
--- a/sflphone-client-gnome/src/contacts/addressbook/eds.h
+++ b/sflphone-client-gnome/src/contacts/addressbook/eds.h
@@ -70,10 +70,9 @@ typedef struct _Hit {
  */
 typedef struct {
     gchar *uid;
-    gchar *name;
     gchar *uri;
+    gchar *name;
     gboolean active;
-    EBook *ebook;
 } book_data_t;
 
 GSList *books_data;
@@ -152,6 +151,12 @@ addressbook_get_books_data();
 void
 set_current_addressbook (const gchar *name);
 
+/**
+ * Return current addressbook name
+ */
+const gchar *
+get_current_addressbook (void);
+
 G_END_DECLS
 
 #endif /* __EDS_H__ */
diff --git a/sflphone-client-gnome/src/contacts/searchbar.c b/sflphone-client-gnome/src/contacts/searchbar.c
index 4f62b64bb09a2fb62a2410fabeb0aefb6c361302..21ee1724b35ef77176b2336b26e286f9743b5e04 100644
--- a/sflphone-client-gnome/src/contacts/searchbar.c
+++ b/sflphone-client-gnome/src/contacts/searchbar.c
@@ -36,6 +36,7 @@
 #include <contacts/addressbook/eds.h>
 
 GtkWidget * searchbox;
+GtkWidget * addressbookentry;
 
 static GtkWidget *menu = NULL;
 
@@ -73,6 +74,16 @@ static void select_addressbook (GtkWidget *item, GtkEntry  *entry)
     DEBUG ("Searchbar: Selected item label %s", gtk_menu_item_get_label (item));
 
     set_current_addressbook (gtk_menu_item_get_label (item));
+
+    gchar *name = get_current_addressbook();
+    gchar *searching = g_strjoin ("", "Search contacts in\n", name, NULL);
+
+    gtk_entry_set_icon_tooltip_text (GTK_ENTRY (addressbookentry), GTK_ENTRY_ICON_PRIMARY,
+                                     searching);
+
+    addressbook_search (GTK_ENTRY (addressbookentry));
+
+    g_free (searching);
 }
 
 static void search_all (GtkWidget *item UNUSED, GtkEntry  *entry)
@@ -288,43 +299,47 @@ GtkWidget* contacts_searchbar_new ()
 
     GdkPixbuf *pixbuf;
 
-    searchbox = gtk_entry_new();
-    gtk_entry_set_icon_from_stock (GTK_ENTRY (searchbox), GTK_ENTRY_ICON_SECONDARY, GTK_STOCK_CLEAR);
+    gchar *current_addressbook = get_current_addressbook();
+    gchar *tooltip_text = g_strjoin ("", "Search contacts in\n", current_addressbook, NULL);
+
+    addressbookentry = gtk_entry_new();
+    gtk_entry_set_icon_from_stock (GTK_ENTRY (addressbookentry), GTK_ENTRY_ICON_SECONDARY, GTK_STOCK_CLEAR);
     pixbuf = gdk_pixbuf_new_from_file (ICONS_DIR "/stock_person.svg", NULL);
-    gtk_entry_set_icon_from_pixbuf (GTK_ENTRY (searchbox), GTK_ENTRY_ICON_PRIMARY, pixbuf);
-    gtk_entry_set_icon_tooltip_text (GTK_ENTRY (searchbox), GTK_ENTRY_ICON_PRIMARY,
-                                     "Search contacts\n"
-                                     "GNOME evolution backend");
+    gtk_entry_set_icon_from_pixbuf (GTK_ENTRY (addressbookentry), GTK_ENTRY_ICON_PRIMARY, pixbuf);
+    gtk_entry_set_icon_tooltip_text (GTK_ENTRY (addressbookentry), GTK_ENTRY_ICON_PRIMARY,
+                                     tooltip_text);
 
 
     // Set the clean insensitive
-    text_changed_cb (GTK_ENTRY (searchbox), NULL);
+    text_changed_cb (GTK_ENTRY (addressbookentry), NULL);
 
-    g_signal_connect (searchbox, "notify::text", G_CALLBACK (text_changed_cb), NULL);
-    g_signal_connect (searchbox, "icon-press", G_CALLBACK (icon_press_cb), NULL);
+    g_signal_connect (addressbookentry, "notify::text", G_CALLBACK (text_changed_cb), NULL);
+    g_signal_connect (addressbookentry, "icon-press", G_CALLBACK (icon_press_cb), NULL);
 
 #else
 
     GtkWidget *image;
 
-    searchbox = sexy_icon_entry_new();
+    addressbookentry = 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 (searchbox), SEXY_ICON_ENTRY_PRIMARY , GTK_IMAGE (image));
-    sexy_icon_entry_add_clear_button (SEXY_ICON_ENTRY (searchbox));
+    sexy_icon_entry_set_icon (SEXY_ICON_ENTRY (addressbookentry), SEXY_ICON_ENTRY_PRIMARY , GTK_IMAGE (image));
+    sexy_icon_entry_add_clear_button (SEXY_ICON_ENTRY (addressbookentry));
 #endif
 
-    gtk_entry_set_activates_default (GTK_ENTRY (searchbox), TRUE);
-    g_signal_connect_after (GTK_ENTRY (searchbox), "activate", G_CALLBACK (searchbar_addressbook_activated), NULL);
+    gtk_entry_set_activates_default (GTK_ENTRY (addressbookentry), TRUE);
+    g_signal_connect_after (GTK_ENTRY (addressbookentry), "activate", G_CALLBACK (searchbar_addressbook_activated), NULL);
 
-    g_signal_connect_after (GTK_ENTRY (searchbox), "changed", G_CALLBACK (searchbar_entry_changed), NULL);
+    g_signal_connect_after (GTK_ENTRY (addressbookentry), "changed", G_CALLBACK (searchbar_entry_changed), NULL);
 
-    g_signal_connect_after (G_OBJECT (searchbox), "focus-in-event",
+    g_signal_connect_after (G_OBJECT (addressbookentry), "focus-in-event",
                             G_CALLBACK (focus_on_searchbar_in), NULL);
-    g_signal_connect_after (G_OBJECT (searchbox), "focus-out-event",
+    g_signal_connect_after (G_OBJECT (addressbookentry), "focus-out-event",
                             G_CALLBACK (focus_on_searchbar_out), NULL);
 
 
-    gtk_box_pack_start (GTK_BOX (ret), searchbox, TRUE, TRUE, 0);
+    gtk_box_pack_start (GTK_BOX (ret), addressbookentry, TRUE, TRUE, 0);
+
+    g_free (tooltip_text);
 
     return ret;
 }