diff --git a/test/user_mgr_test.cpp b/test/user_mgr_test.cpp
index 0bd5e1c..d5049a0 100644
--- a/test/user_mgr_test.cpp
+++ b/test/user_mgr_test.cpp
@@ -293,6 +293,9 @@
 
         ON_CALL(*this, executeUserDelete).WillByDefault(testing::Return());
 
+        ON_CALL(*this, executeUserClearFailRecords)
+            .WillByDefault(testing::Return());
+
         ON_CALL(*this, getIpmiUsersCount).WillByDefault(testing::Return(0));
 
         ON_CALL(*this, executeUserRename).WillByDefault(testing::Return());
@@ -326,6 +329,8 @@
 
     MOCK_METHOD(void, executeUserDelete, (const char*), (override));
 
+    MOCK_METHOD(void, executeUserClearFailRecords, (const char*), (override));
+
     MOCK_METHOD(size_t, getIpmiUsersCount, (), (override));
 
     MOCK_METHOD(void, executeUserRename, (const char*, const char*),
@@ -552,6 +557,23 @@
     EXPECT_NO_THROW(UserMgr::deleteUser(username));
 }
 
+TEST_F(UserMgrInTest,
+       DeleteUserThrowsInternalFailureWhenExecuteUserClearFailRecords)
+{
+    const char* username = "user";
+    EXPECT_NO_THROW(
+        UserMgr::createUser(username, {"redfish", "ssh"}, "priv-user", true));
+    EXPECT_CALL(*this, executeUserClearFailRecords(testing::StrEq(username)))
+        .WillOnce(testing::Throw(
+            sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure()))
+        .WillOnce(testing::DoDefault());
+
+    EXPECT_THROW(
+        deleteUser(username),
+        sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure);
+    EXPECT_NO_THROW(UserMgr::deleteUser(username));
+}
+
 TEST_F(UserMgrInTest, ThrowForInvalidPrivilegeThrowsWhenPrivilegeIsInvalid)
 {
     EXPECT_THROW(
