diff --git a/ring-android/libringclient/src/main/java/net/jami/facades/ConversationFacade.java b/ring-android/libringclient/src/main/java/net/jami/facades/ConversationFacade.java
index fdcd012ab6ced1e600bdbbcfc14c80fe64a5130c..168d9e1a90403a9a500f533b5c03fc23bd868c9a 100644
--- a/ring-android/libringclient/src/main/java/net/jami/facades/ConversationFacade.java
+++ b/ring-android/libringclient/src/main/java/net/jami/facades/ConversationFacade.java
@@ -693,7 +693,17 @@ public class ConversationFacade {
 
     public Completable removeConversation(String accountId, Uri conversationUri) {
         if (conversationUri.isSwarm()) {
-            return mAccountService.removeConversation(accountId, conversationUri);
+            // For a one to one conversation, contact is strongly related, so remove the contact.
+            // This will remove related conversations
+            Account account = mAccountService.getAccount(accountId);
+            Conversation conversation = account.getSwarm(conversationUri.getRawRingId());
+            if (conversation != null && conversation.getMode().blockingFirst() == Conversation.Mode.OneToOne) {
+                Contact contact = conversation.getContact();
+                mAccountService.removeContact(accountId, contact.getUri().getRawRingId(), false);
+                return Completable.complete();
+            } else {
+                return mAccountService.removeConversation(accountId, conversationUri);
+            }
         } else {
             return mHistoryService
                     .clearHistory(conversationUri.getUri(), accountId, true)