diff --git a/configuration/ibm/50001000.json b/configuration/ibm/50001000.json
index 77c7c80..3e08269 100644
--- a/configuration/ibm/50001000.json
+++ b/configuration/ibm/50001000.json
@@ -2787,10 +2787,6 @@
                 "replaceableAtRuntime": true,
                 "preAction": {
                     "collection": {
-                        "gpioPresence": {
-                            "pin": "SLOT8_EXPANDER_PRSNT_N",
-                            "value": 0
-                        },
                         "setGpio": {
                             "pin": "SLOT8_PRSNT_EN_RSVD",
                             "value": 1
diff --git a/vpd-manager/src/worker.cpp b/vpd-manager/src/worker.cpp
index d1bd00c..a0978c8 100644
--- a/vpd-manager/src/worker.cpp
+++ b/vpd-manager/src/worker.cpp
@@ -1453,14 +1453,24 @@
             // logging error for these cases.
             if (vpdSpecificUtility::isPass1Planar())
             {
-                const std::string& l_invPathLeafValue =
-                    sdbusplus::message::object_path(
-                        jsonUtility::getInventoryObjPathFromJson(m_parsedJson,
-                                                                 i_vpdFilePath))
-                        .filename();
+                // Till exceptions are removed from utility method, this needs
+                // to be handled in place.
+                try
+                {
+                    const std::string& l_invPathLeafValue =
+                        sdbusplus::message::object_path(
+                            jsonUtility::getInventoryObjPathFromJson(
+                                m_parsedJson, i_vpdFilePath))
+                            .filename();
 
-                if ((l_invPathLeafValue.find("pcie_card", 0) !=
-                     std::string::npos))
+                    if ((l_invPathLeafValue.find("pcie_card", 0) !=
+                         std::string::npos))
+                    {
+                        // skip logging any PEL for PCIe cards on pass 1 planar.
+                        return std::make_tuple(false, i_vpdFilePath);
+                    }
+                }
+                catch (const std::exception& l_ex)
                 {
                     // skip logging any PEL for PCIe cards on pass 1 planar.
                     return std::make_tuple(false, i_vpdFilePath);
