diff --git a/src/backends/edscontactbackend.cpp b/src/backends/edscontactbackend.cpp
index c099aed..39a2d96 100644
--- a/src/backends/edscontactbackend.cpp
+++ b/src/backends/edscontactbackend.cpp
@@ -114,8 +114,11 @@
 
 bool EdsContactEditor::remove(const Person* item)
 {
-    mediator()->removeItem(item);
-    return true;
+    bool ret = collection_->removePerson(item);
+    if (ret) {
+        mediator()->removeItem(item);
+    }
+    return ret;
 }
 
 bool EdsContactEditor::edit( Person* item)
@@ -380,7 +383,7 @@
             if (p) {
                 g_debug("removing: %s", p->formattedName().toUtf8().constData());
                 deactivate(p);
-                editor<Person>()->remove(p);
+                mediator_->removeItem(p);
             } else {
                 g_warning("person with given UID doesn't exist: %s", uid);
             }
@@ -429,6 +432,7 @@
     return (CollectionInterface::SupportedFeatures::NONE |
             CollectionInterface::SupportedFeatures::LOAD |
             CollectionInterface::SupportedFeatures::ADD  |
+            CollectionInterface::SupportedFeatures::REMOVE  |
             CollectionInterface::SupportedFeatures::SAVE );
 }
 
@@ -479,6 +483,34 @@
     return ret;
 }
 
+bool EdsContactBackend::removePerson(const Person *item)
+{
+    g_return_val_if_fail(client_.get(), false);
+
+    g_debug("removing person");
+
+    GError *error = NULL;
+
+    bool ret = e_book_client_remove_contact_by_uid_sync(
+        E_BOOK_CLIENT(client_.get()),
+        item->uid(),
+        cancellable_.get(),
+        &error
+    );
+
+    if(!ret) {
+        if(error) {
+            g_warning("could not delete contact: %s", error->message);
+            g_clear_error(&error);
+        }
+        else {
+            g_warning("could not delete contact");
+        }
+    }
+
+    return ret;
+}
+
 bool EdsContactBackend::savePerson(const Person *item)
 {
     g_return_val_if_fail(client_.get(), false);
diff --git a/src/backends/edscontactbackend.h b/src/backends/edscontactbackend.h
index f67d38d..bbeb0fb 100644
--- a/src/backends/edscontactbackend.h
+++ b/src/backends/edscontactbackend.h
@@ -80,6 +80,7 @@
     void parseContact(EContact *contact);
     void lastContactAdded();
     bool addNewPerson(Person *item);
+    bool removePerson(const Person *item);
     bool savePerson(const Person *item);
 
 private:
