diff --git a/plugins/addressbook/evolution/addressbook.c b/plugins/addressbook/evolution/addressbook.c
index f6a130794bf390503582bc59a988757e6d5c1702..6618c3a67940f2709f5b36d629e45167574fbc67 100644
--- a/plugins/addressbook/evolution/addressbook.c
+++ b/plugins/addressbook/evolution/addressbook.c
@@ -131,8 +131,6 @@ addressbook_init(gchar **book_list)
 {
     printf("Addressbook: Initialize addressbook\n");
 
-    init_eds_mutex();
-
     fill_books_data();
     addressbook_config_books(book_list);
     determine_default_addressbook();
diff --git a/plugins/addressbook/evolution/eds.c b/plugins/addressbook/evolution/eds.c
index 4b74a44d6f352be25f26e4dc9dacc2bd971e9845..af5d9bbc4ea5678968b112635a7f5afdf7019d90 100644
--- a/plugins/addressbook/evolution/eds.c
+++ b/plugins/addressbook/evolution/eds.c
@@ -64,7 +64,7 @@ authenticate_source (EBook *);
  * The global addressbook list
  */
 GSList *books_data = NULL;
-GMutex *books_data_mutex = NULL;
+static GStaticMutex books_data_mutex = G_STATIC_MUTEX_INIT;
 
 /**
  * Size of image that will be displayed in contact list
@@ -106,15 +106,15 @@ books_ready()
 {
     gboolean returnValue;
 
-    g_mutex_lock(books_data_mutex);
+    g_static_mutex_lock(&books_data_mutex);
 
     if (books_data == NULL) {
-        g_mutex_unlock(books_data_mutex);
+        g_static_mutex_unlock(&books_data_mutex);
         return FALSE;
     }
 
     returnValue = (g_slist_length (books_data) > 0);
-    g_mutex_unlock(books_data_mutex);
+    g_static_mutex_unlock(&books_data_mutex);
 
     return returnValue;
 }
@@ -128,11 +128,11 @@ books_active()
     GSList *book_list_iterator;
     book_data_t *book_data;
 
-    g_mutex_lock(books_data_mutex);
+    g_static_mutex_lock(&books_data_mutex);
 
     if (books_data == NULL) {
         printf("Addressbook: No books data (%s:%d)\n", __FILE__, __LINE__); 
-        g_mutex_unlock(books_data_mutex);
+        g_static_mutex_unlock(&books_data_mutex);
         return FALSE;
     }
 
@@ -142,12 +142,12 @@ books_active()
         book_data = (book_data_t *) book_list_iterator->data;
 
         if (book_data->active) {
-            g_mutex_unlock(books_data_mutex);
+            g_static_mutex_unlock(&books_data_mutex);
             return TRUE;
         }
     }
 
-    g_mutex_unlock(books_data_mutex);
+    g_static_mutex_unlock(&books_data_mutex);
 
     // If no result
     return FALSE;
@@ -161,11 +161,11 @@ books_get_book_data_by_uid (gchar *uid)
     GSList *book_list_iterator;
     book_data_t *book_data;
 
-    g_mutex_lock(books_data_mutex);
+    g_static_mutex_lock(&books_data_mutex);
 
     if (books_data == NULL) {
         printf("Addressbook: No books data (%s:%d)\n", __FILE__, __LINE__);
-        g_mutex_unlock(books_data_mutex);
+        g_static_mutex_unlock(&books_data_mutex);
         return NULL;
     }
 
@@ -178,12 +178,12 @@ books_get_book_data_by_uid (gchar *uid)
 
         if (strcmp (book_data->uid, uid) == 0) {
             printf("Addressbook: Book %s found\n", uid);
-            g_mutex_unlock(books_data_mutex);
+            g_static_mutex_unlock(&books_data_mutex);
             return book_data;
         }
     }
 
-    g_mutex_unlock(books_data_mutex);
+    g_static_mutex_unlock(&books_data_mutex);
 
     printf("Addressbook: Could not found Book %s\n", uid);
     // If no result
@@ -440,11 +440,11 @@ init_eds ()
 
     printf ("Addressbook: Init evolution data server\n");
 
-    g_mutex_lock(books_data_mutex);
+    g_static_mutex_lock(&books_data_mutex);
 
     if (books_data == NULL) {
         printf ("Addressbook: No books data (%s:%d)\n", __FILE__, __LINE__);
-        g_mutex_unlock(books_data_mutex);
+        g_static_mutex_unlock(&books_data_mutex);
         return;
     }
 
@@ -469,13 +469,7 @@ init_eds ()
 
     printf("END EVOLUTION INIT %s, %s, %s\n", current_uri, current_uid, current_name);
 
-    g_mutex_unlock(books_data_mutex);
-}
-
-void
-init_eds_mutex() {
-
-    books_data_mutex = g_mutex_new();
+    g_static_mutex_unlock(&books_data_mutex);
 }
 
 /**
@@ -565,7 +559,7 @@ fill_books_data ()
         return;
     }
 
-    g_mutex_lock(books_data_mutex);
+    g_static_mutex_lock(&books_data_mutex);
 
     if (books_data != NULL) {
         empty_books_data();
@@ -613,7 +607,7 @@ fill_books_data ()
         g_free (absuri);
     }
 
-    g_mutex_unlock(books_data_mutex);
+    g_static_mutex_unlock(&books_data_mutex);
 
     g_object_unref (source_list);
 }
@@ -621,7 +615,7 @@ fill_books_data ()
 void
 determine_default_addressbook()
 {
-    g_mutex_lock(books_data_mutex);
+    g_static_mutex_lock(&books_data_mutex);
 
     GSList *list_element = books_data;
     gboolean default_found = FALSE;
@@ -657,7 +651,7 @@ determine_default_addressbook()
         list_element = g_slist_next (list_element);
     }
 
-    g_mutex_unlock(books_data_mutex);
+    g_static_mutex_unlock(&books_data_mutex);
 }
 
 void
@@ -759,11 +753,11 @@ set_current_addressbook (const gchar *name)
     if(name == NULL)
         return;
 
-    g_mutex_lock(books_data_mutex);
+    g_static_mutex_lock(&books_data_mutex);
 
     if (!books_data) {
         printf ("Addressbook: No books data (%s:%d)\n", __FILE__, __LINE__);
-        g_mutex_unlock(books_data_mutex);
+        g_static_mutex_unlock(&books_data_mutex);
         return;
     }
 
@@ -781,7 +775,7 @@ set_current_addressbook (const gchar *name)
 
     printf("Addressbook: Set current addressbook %s, %s, %s\n", current_uri, current_uid, current_name);
 
-    g_mutex_unlock(books_data_mutex);
+    g_static_mutex_unlock(&books_data_mutex);
 }
 
 
diff --git a/plugins/addressbook/evolution/eds.h b/plugins/addressbook/evolution/eds.h
index b2ee8fb99848e9366a981837e57080ac0dce733a..2211c6c375cf696a16234dbc48c29a4810838801 100644
--- a/plugins/addressbook/evolution/eds.h
+++ b/plugins/addressbook/evolution/eds.h
@@ -50,55 +50,12 @@
 
 G_BEGIN_DECLS
 
-/**
- * Current search id used to prevent processing
- * of previous search
- */
-int current_search_id;
-
-/**
- * Represent a contact entry
- */
-/*
-typedef struct _Hit {
-    gchar *name;
-    GdkPixbuf *photo;
-    gchar *phone_business;
-    gchar *phone_home;
-    gchar *phone_mobile;
-} Hit;
-*/
-/**
- * Book structure for "outside world"
- */
-/*
-typedef struct {
-    gchar *uid;
-    gchar *uri;
-    gchar *name;
-    gboolean active;
-    gboolean isdefault;
-} book_data_t;
-*/
-
-/**
- * Free a contact entry
- */
-void
-free_hit (Hit *h);
-
 /**
  * Template callback function for the asynchronous search
  */
 typedef void
 (* SearchAsyncHandler) (GList *hits, gpointer user_data);
 
-/**
- * Template callback function for the asynchronous open
- */
-typedef void
-(* OpenAsyncHandler) ();
-
 /**
  * Initialize the address book.
  * Connection to evolution data server
@@ -106,13 +63,6 @@ typedef void
 void
 init_eds ();
 
-/**
- * We need to initialize multi-threading capabilities
- * due to asynchronous callbacks
- */
-void
-init_eds_mutex(void);
-
 /**
  * Fill list of addressbooks
  */