diff --git a/vpd-manager/gpioMonitor.cpp b/vpd-manager/gpioMonitor.cpp
index 960b9b4..69d5e60 100644
--- a/vpd-manager/gpioMonitor.cpp
+++ b/vpd-manager/gpioMonitor.cpp
@@ -92,18 +92,23 @@
                     }
                 }
 
-                devNameAddr = eachInventory["devAddress"];
-                driverType = eachInventory["driverType"];
-                busType = eachInventory["busType"];
+                if ((eachInventory.find("devAddress") != eachInventory.end()) &&
+                    (eachInventory.find("driverType") != eachInventory.end()) &&
+                    (eachInventory.find("busType") != eachInventory.end()))
+                {
+                    devNameAddr = eachInventory["devAddress"];
+                    driverType = eachInventory["driverType"];
+                    busType = eachInventory["busType"];
 
-                // Init all Gpio info variables
-                std::shared_ptr<GpioEventHandler> gpioObj =
-                    make_shared<GpioEventHandler>(
-                        presencePinName, presenceValue, outputPinName,
-                        outputValue, devNameAddr, driverType, busType,
-                        objectPath, event);
+                    // Init all Gpio info variables
+                    std::shared_ptr<GpioEventHandler> gpioObj =
+                        make_shared<GpioEventHandler>(
+                            presencePinName, presenceValue, outputPinName,
+                            outputValue, devNameAddr, driverType, busType,
+                            objectPath, event);
 
-                gpioObjects.push_back(gpioObj);
+                    gpioObjects.push_back(gpioObj);
+                }
             }
         }
     }
