diff --git a/oem/ibm/libpldmresponder/file_io_type_dump.cpp b/oem/ibm/libpldmresponder/file_io_type_dump.cpp
index f3394a3..83343b7 100644
--- a/oem/ibm/libpldmresponder/file_io_type_dump.cpp
+++ b/oem/ibm/libpldmresponder/file_io_type_dump.cpp
@@ -220,8 +220,7 @@
         {
             error("Failue in resource dump file ack");
             pldm::utils::reportError(
-                "xyz.openbmc_project.PLDM.Error.fileAck.ResourceDumpFileAckFail",
-                pldm::PelSeverity::Informational);
+                "xyz.openbmc_project.bmc.pldm.InternalFailure");
 
             PropertyValue value{
                 "xyz.openbmc_project.Common.Progress.OperationStatus.Failed"};
@@ -271,7 +270,7 @@
                     "fileAck: Failed to make a d-bus call to DUMP manager to reset source dump id of {FILE_PATH}, with ERROR={ERR_EXCEP}",
                     "FILE_PATH", path.c_str(), "ERR_EXCEP", e.what());
                 pldm::utils::reportError(
-                    "xyz.openbmc_project.PLDM.Error.fileAck.SourceDumpIdResetFail");
+                    "xyz.openbmc_project.bmc.PLDM.fileAck.SourceDumpIdResetFail");
                 return PLDM_ERROR;
             }
 
@@ -289,7 +288,7 @@
                     "fileAck: Failed to make a d-bus method to delete the dump entry {FILE_PATH}, with ERROR={ERR_EXCEP}",
                     "FILE_PATH", path.c_str(), "ERR_EXCEP", e.what());
                 pldm::utils::reportError(
-                    "xyz.openbmc_project.PLDM.Error.fileAck.DumpEntryDeleteFail");
+                    "xyz.openbmc_project.bmc.PLDM.fileAck.DumpEntryDeleteFail");
                 return PLDM_ERROR;
             }
             return PLDM_SUCCESS;
diff --git a/oem/ibm/requester/dbus_to_file_handler.cpp b/oem/ibm/requester/dbus_to_file_handler.cpp
index 35a4d9c..7f15103 100644
--- a/oem/ibm/requester/dbus_to_file_handler.cpp
+++ b/oem/ibm/requester/dbus_to_file_handler.cpp
@@ -38,7 +38,7 @@
         error(
             "Failed to send resource dump parameters as instance ID DB is not set");
         pldm::utils::reportError(
-            "xyz.openbmc_project.PLDM.Error.sendNewFileAvailableCmd.SendDumpParametersFail");
+            "xyz.openbmc_project.bmc.pldm.InternalFailure");
         return;
     }
     auto instanceId = instanceIdDb->next(mctp_eid);
@@ -88,9 +88,7 @@
 
 void DbusToFileHandler::reportResourceDumpFailure()
 {
-    pldm::utils::reportError(
-        "xyz.openbmc_project.PLDM.Error.ReportResourceDumpFail",
-        pldm::PelSeverity::Warning);
+    pldm::utils::reportError("xyz.openbmc_project.bmc.pldm.InternalFailure");
 
     PropertyValue value{resDumpStatus};
     DBusMapping dbusMapping{resDumpCurrentObjPath, resDumpProgressIntf,
@@ -249,7 +247,7 @@
     {
         error("Failed to send csr to host.");
         pldm::utils::reportError(
-            "xyz.openbmc_project.PLDM.Error.SendFileToHostFail");
+            "xyz.openbmc_project.bmc.pldm.InternalFailure");
         return;
     }
     auto instanceId = instanceIdDb->next(mctp_eid);
@@ -281,7 +279,7 @@
                 "Failed to decode_new_file_resp for vmi, or Host returned error for new_file_available rc = {RC}, cc = {CC}",
                 "RC", rc, "CC", static_cast<unsigned>(completionCode));
             pldm::utils::reportError(
-                "xyz.openbmc_project.PLDM.Error.DecodeNewFileResponseFail");
+                "xyz.openbmc_project.bmc.pldm.InternalFailure");
         }
     };
     rc = handler->registerRequest(
@@ -291,7 +289,7 @@
     {
         error("Failed to send NewFileAvailable Request to Host for vmi");
         pldm::utils::reportError(
-            "xyz.openbmc_project.PLDM.Error.NewFileAvailableRequestFail");
+            "xyz.openbmc_project.bmc.pldm.InternalFailure");
     }
 }
 
