diff --git a/src/jamidht/conversationrepository.cpp b/src/jamidht/conversationrepository.cpp
index bfdc08535ec4b6a11facd859c5e616b09c78f818..727576cdd50e739bc17c35e21c7d8415c1c8b4b2 100644
--- a/src/jamidht/conversationrepository.cpp
+++ b/src/jamidht/conversationrepository.cpp
@@ -2635,6 +2635,12 @@ ConversationRepository::cloneConversation(
     const std::string& conversationId,
     std::function<void(std::vector<ConversationCommit>)>&& checkCommitCb)
 {
+    // Verify conversationId is not empty to avoid deleting the entire conversations directory
+    if (conversationId.empty()) {
+        JAMI_ERROR("[Account {}] Clone conversation with empty conversationId", account->getAccountID());
+        return nullptr;
+    }
+
     auto conversationsPath = fileutils::get_data_dir() / account->getAccountID() / "conversations";
     dhtnet::fileutils::check_dir(conversationsPath);
     auto path = conversationsPath / conversationId;