diff --git a/src/jamidht/conversation_module.cpp b/src/jamidht/conversation_module.cpp
index 75cac2d29ec1534e1dd1ee0c6fafd0e6771171f4..5372378c191e09721a3d366115e1f4083c3f6dc5 100644
--- a/src/jamidht/conversation_module.cpp
+++ b/src/jamidht/conversation_module.cpp
@@ -1183,6 +1183,19 @@ ConversationModule::Impl::fixStructures(std::shared_ptr<JamiAccount> acc, const
                 }
             }
         }
+        auto requestRemoved = false;
+        for (auto it = conversationsRequests_.begin(); it != conversationsRequests_.end();) {
+            if (it->second.from == username_) {
+                JAMI_WARNING("Detected request from ourself, this makes no sense. Remove {}", it->first);
+                it = conversationsRequests_.erase(it);
+            } else {
+                ++it;
+            }
+        }
+        if (requestRemoved) {
+            saveConvRequests();
+        }
+
     }
     for (const auto& invalidPendingRequest : invalidPendingRequests)
         acc->discardTrustRequest(invalidPendingRequest);
@@ -2167,6 +2180,10 @@ ConversationModule::onSyncData(const SyncMsg& msg,
     }
 
     for (const auto& [convId, req] : msg.cr) {
+        if (req.from == pimpl_->username_) {
+            JAMI_WARNING("Detected request from ourself, ignore {}.", convId);
+            continue;
+        }
         if (pimpl_->isConversation(convId)) {
             // Already handled request
             pimpl_->rmConversationRequest(convId);