diff --git a/src/jamidht/jamiaccount.cpp b/src/jamidht/jamiaccount.cpp
index b4dccab64510f8145bb470b5d9cfd791ec9f2781..3fe2d958962c2228410d3c10614c584e6ab16c7d 100644
--- a/src/jamidht/jamiaccount.cpp
+++ b/src/jamidht/jamiaccount.cpp
@@ -1237,6 +1237,7 @@ JamiAccount::loadAccount(const std::string& archive_password_scheme,
             config_->username = info->accountId;
             JAMI_WARNING("[Account {:s}] loaded account identity", getAccountID());
             if (not isEnabled()) {
+                convModule(); // Init conv module
                 setRegistrationState(RegistrationState::UNREGISTERED);
             }
         } else if (isEnabled()) {
diff --git a/test/unitTest/conversation/conversation.cpp b/test/unitTest/conversation/conversation.cpp
index 845a0acb299ea399b41e7d10ef667e421ec1a377..d00904f1fbc2aca5cfb87c4fb6aa5096c9a8dc56 100644
--- a/test/unitTest/conversation/conversation.cpp
+++ b/test/unitTest/conversation/conversation.cpp
@@ -108,6 +108,7 @@ public:
 
 private:
     void testCreateConversation();
+    void testOfflineConvModule();
     void testCreateConversationInvalidDisplayName();
     void testGetConversation();
     void testGetConversationsAfterRm();
@@ -162,6 +163,7 @@ private:
 
     CPPUNIT_TEST_SUITE(ConversationTest);
     CPPUNIT_TEST(testCreateConversation);
+    CPPUNIT_TEST(testOfflineConvModule);
     CPPUNIT_TEST(testCreateConversationInvalidDisplayName);
     CPPUNIT_TEST(testGetConversation);
     CPPUNIT_TEST(testGetConversationsAfterRm);
@@ -547,6 +549,14 @@ ConversationTest::testCreateConversation()
     CPPUNIT_ASSERT(deviceCrtStr == deviceCert);
 }
 
+void
+ConversationTest::testOfflineConvModule()
+{
+    std::cout << "\nRunning test: " << __func__ << std::endl;
+    auto carlaAccount = Manager::instance().getAccount<JamiAccount>(carlaId);
+    CPPUNIT_ASSERT(carlaAccount->convModule() != nullptr);
+}
+
 void
 ConversationTest::testCreateConversationInvalidDisplayName()
 {