diff --git a/ring-android/app/src/main/java/cx/ring/service/DRingService.java b/ring-android/app/src/main/java/cx/ring/service/DRingService.java
index bd3c322190f2164953ac1dc0cc03cc875863284c..6f06891002df2ec72a5ee42486f8985ca84a6136 100644
--- a/ring-android/app/src/main/java/cx/ring/service/DRingService.java
+++ b/ring-android/app/src/main/java/cx/ring/service/DRingService.java
@@ -625,7 +625,7 @@ public class DRingService extends Service implements Observer<ServiceEvent> {
                     break;
                 case ACTION_TRUST_REQUEST_BLOCK:
                     mAccountService.discardTrustRequest(account, from);
-                    mContactService.removeContact(account, from);
+                    mContactService.removeContact(account, from, true);
                     break;
             }
         }
diff --git a/ring-android/libringclient/src/main/java/cx/ring/contactrequests/PendingContactRequestsPresenter.java b/ring-android/libringclient/src/main/java/cx/ring/contactrequests/PendingContactRequestsPresenter.java
index b30cdfe1d05d5915b8b9d73053f2b2d6069cea26..05d90f60f00429d95da0af88e42bd43443bce97c 100644
--- a/ring-android/libringclient/src/main/java/cx/ring/contactrequests/PendingContactRequestsPresenter.java
+++ b/ring-android/libringclient/src/main/java/cx/ring/contactrequests/PendingContactRequestsPresenter.java
@@ -175,7 +175,7 @@ public class PendingContactRequestsPresenter extends RootPresenter<PendingContac
         String accountId = mAccountID == null ? mAccountService.getCurrentAccount().getAccountID() : mAccountID;
         String contactId = viewModel.getContactId();
         mAccountService.discardTrustRequest(accountId, contactId);
-        mContactService.removeContact(accountId, contactId);
+        mContactService.removeContact(accountId, contactId, true);
         mPreferencesService.removeRequestPreferences(accountId, contactId);
         updateList(true);
     }
diff --git a/ring-android/libringclient/src/main/java/cx/ring/conversation/ConversationPresenter.java b/ring-android/libringclient/src/main/java/cx/ring/conversation/ConversationPresenter.java
index ef0d6bf20f4e6f32bf63f87b3bb3530a8457d9ef..cc0711514455d29ce6e7ba72d65a4c1427248de5 100644
--- a/ring-android/libringclient/src/main/java/cx/ring/conversation/ConversationPresenter.java
+++ b/ring-android/libringclient/src/main/java/cx/ring/conversation/ConversationPresenter.java
@@ -156,7 +156,7 @@ public class ConversationPresenter extends RootPresenter<ConversationView> imple
             contactId = split[1];
         }
 
-        mContactService.removeContact(accountId, contactId);
+        mContactService.removeContact(accountId, contactId, true);
         getView().goToHome();
     }
 
diff --git a/ring-android/libringclient/src/main/java/cx/ring/services/ContactService.java b/ring-android/libringclient/src/main/java/cx/ring/services/ContactService.java
index 797675a43fbca1d926668433c019d0535faaee2c..7653e9128235756cd06a0094e8977e7d7a572b0f 100644
--- a/ring-android/libringclient/src/main/java/cx/ring/services/ContactService.java
+++ b/ring-android/libringclient/src/main/java/cx/ring/services/ContactService.java
@@ -356,7 +356,7 @@ public abstract class ContactService extends Observable {
      * @param accountId
      * @param uri
      */
-    public void removeContact(final String accountId, final String uri) {
+    public void removeContact(final String accountId, final String uri, final boolean ban) {
 
         FutureUtils.executeDaemonThreadCallable(
                 mExecutor,
@@ -366,7 +366,7 @@ public abstract class ContactService extends Observable {
                     @Override
                     public Boolean call() throws Exception {
                         Log.i(TAG, "removeContact() thread running...");
-                        Ringservice.removeContact(accountId, uri);
+                        Ringservice.removeContact(accountId, uri, ban);
                         return true;
                     }
                 }
diff --git a/ring-android/libringclient/src/main/java/cx/ring/smartlist/SmartListPresenter.java b/ring-android/libringclient/src/main/java/cx/ring/smartlist/SmartListPresenter.java
index 628eec043b9a6ce60287bccbcfb58462003a18ad..bc8e1b5a514f445b96d50d268e783f94a2fc5d1a 100644
--- a/ring-android/libringclient/src/main/java/cx/ring/smartlist/SmartListPresenter.java
+++ b/ring-android/libringclient/src/main/java/cx/ring/smartlist/SmartListPresenter.java
@@ -368,7 +368,7 @@ public class SmartListPresenter extends RootPresenter<SmartListView> implements
     public void removeContact(String accountId, String contactId) {
         String[] split = contactId.split(":");
         if (split.length > 1 && split[0].equals("ring")) {
-            mContactService.removeContact(accountId, split[1]);
+            mContactService.removeContact(accountId, split[1], false);
         }
     }
 
diff --git a/ring-android/libringclient/src/main/jni/configurationmanager.i b/ring-android/libringclient/src/main/jni/configurationmanager.i
index 329af40a5653e4021fdf6d20d14531501b922da6..be65c1cdae9a3b5bec7c95b072593fae68549fe8 100644
--- a/ring-android/libringclient/src/main/jni/configurationmanager.i
+++ b/ring-android/libringclient/src/main/jni/configurationmanager.i
@@ -186,7 +186,7 @@ void sendTrustRequest(const std::string& accountId, const std::string& to, const
 /* Contacts */
 
 void addContact(const std::string& accountId, const std::string& uri);
-void removeContact(const std::string& accountId, const std::string& uri);
+void removeContact(const std::string& accountId, const std::string& uri, const bool& ban);
 std::vector<std::map<std::string, std::string>> getContacts(const std::string& accountId);
 
 int exportAccounts(std::vector<std::string> accountIDs, std::string toDir, std::string password);