diff --git a/service/inc/pfr_mgr.hpp b/service/inc/pfr_mgr.hpp
index 6f55eb9..c8211d4 100644
--- a/service/inc/pfr_mgr.hpp
+++ b/service/inc/pfr_mgr.hpp
@@ -84,4 +84,11 @@
     bool ufmSupport;
 };
 
+// Firmware resiliency major map.
+// {<CPLD association>, {<Redfish MessageID>, <Error reason> })
+static const boost::container::flat_map<uint8_t,
+                                        std::pair<std::string, std::string>>
+    majorErrorCodeMapRev2 = {
+        {0x03, {"FirmwareResiliencyError", "Firmware update failed"}}};
+
 } // namespace pfr
diff --git a/service/src/mainapp.cpp b/service/src/mainapp.cpp
index bf6cbef..8a91dab 100644
--- a/service/src/mainapp.cpp
+++ b/service/src/mainapp.cpp
@@ -90,8 +90,6 @@
         {0x04, {"BMCFirmwarePanicReason", "BMC watchdog expired"}},
         {0x05, {"MEFirmwarePanicReason", "ME watchdog expired"}},
         {0x06, {"BIOSFirmwarePanicReason", "ACM watchdog expired"}},
-        {0x07, {"BIOSFirmwarePanicReason", "IBB watchdog expired"}},
-        {0x08, {"BIOSFirmwarePanicReason", "OBB watchdog expired"}},
         {0x09,
          {"BIOSFirmwarePanicReason",
           "ACM or IBB or OBB authentication failure"}}};
@@ -168,8 +166,27 @@
 static void logResiliencyErrorEvent(const uint8_t majorErrorCode,
                                     const uint8_t minorErrorCode)
 {
+    uint8_t cpldRoTRev = 0;
+    if (0 != readCpldReg(ActionType::readRoTRev, cpldRoTRev))
+    {
+        return;
+    }
+
     auto it = majorErrorCodeMap.find(majorErrorCode);
-    if (it == majorErrorCodeMap.end())
+    if (cpldRoTRev == 0x02)
+    {
+        auto itRev2 = majorErrorCodeMapRev2.find(majorErrorCode);
+        if (itRev2 != majorErrorCodeMapRev2.end())
+        {
+            it = itRev2;
+        }
+        else if (it == majorErrorCodeMap.end())
+        {
+            // No matching found. So just return without logging event.
+            return;
+        }
+    }
+    else if (it == majorErrorCodeMap.end())
     {
         // No matching found. So just return without logging event.
         return;
