diff --git a/test/unitTest/account_archive/account_archive.cpp b/test/unitTest/account_archive/account_archive.cpp
index 6b45ecf9a9265e9dab5f4268ca4d82aadab82cb1..74bc00e50551361730d84e8c0f1e8302c6f1e805 100644
--- a/test/unitTest/account_archive/account_archive.cpp
+++ b/test/unitTest/account_archive/account_archive.cpp
@@ -73,6 +73,7 @@ private:
     void testExportImportPasswordDoubleGunzip();
     void testExportDht();
     void testExportDhtWrongPassword();
+    void testChangePassword();
 
     CPPUNIT_TEST_SUITE(AccountArchiveTest);
     CPPUNIT_TEST(testExportImportNoPassword);
@@ -81,6 +82,7 @@ private:
     CPPUNIT_TEST(testExportImportPasswordDoubleGunzip);
     CPPUNIT_TEST(testExportDht);
     CPPUNIT_TEST(testExportDhtWrongPassword);
+    CPPUNIT_TEST(testChangePassword);
     CPPUNIT_TEST_SUITE_END();
 };
 
@@ -230,6 +232,19 @@ AccountArchiveTest::testExportDhtWrongPassword()
     CPPUNIT_ASSERT(cv.wait_for(lk, std::chrono::seconds(10), [&] { return status == 1; }));
 }
 
+void
+AccountArchiveTest::testChangePassword()
+{
+    // Test wrong password, should fail
+    CPPUNIT_ASSERT(!DRing::changeAccountPassword(aliceId, "wrong", "new"));
+    // Test correct password, should succeed
+    CPPUNIT_ASSERT(DRing::changeAccountPassword(aliceId, "", "new"));
+    // Now it should fail
+    CPPUNIT_ASSERT(!DRing::changeAccountPassword(aliceId, "", "new"));
+    // Remove password again (should succeed)
+    CPPUNIT_ASSERT(DRing::changeAccountPassword(aliceId, "new", ""));
+}
+
 } // namespace test
 } // namespace jami