diff --git a/ibm_vpd_app.cpp b/ibm_vpd_app.cpp
index ecbe110..2d460d6 100644
--- a/ibm_vpd_app.cpp
+++ b/ibm_vpd_app.cpp
@@ -558,15 +558,27 @@
                              string("\" > /sys/bus/i2c/drivers/at24/bind");
             cout << bindCmd << endl;
             executeCmd(bindCmd);
-        }
 
-        // Check if device showed up (test for file)
-        if (!fs::exists(file))
+            // Check if device showed up (test for file)
+            if (!fs::exists(file))
+            {
+                cerr << "EEPROM " << file
+                     << " does not exist. Take failure action" << endl;
+                // If not, then take failure postAction
+                executePostFailAction(json, file);
+            }
+        }
+        else
         {
-            cout << "EEPROM " << file << " does not exist. Take failure action"
-                 << endl;
-            // If not, then take failure postAction
+            // missing required informations
+            cerr
+                << "VPD inventory JSON missing basic informations of preAction "
+                   "for this FRU : ["
+                << file << "]. Executing executePostFailAction." << endl;
+
+            // Take failure postAction
             executePostFailAction(json, file);
+            return;
         }
     }
 }
diff --git a/ibm_vpd_utils.cpp b/ibm_vpd_utils.cpp
index fbd2968..25960fc 100644
--- a/ibm_vpd_utils.cpp
+++ b/ibm_vpd_utils.cpp
@@ -719,6 +719,9 @@
 
                 if (!presenceLine)
                 {
+                    cerr << "Couldn't find the presence line for - "
+                         << presPinName << endl;
+
                     throw runtime_error(
                         "Couldn't find the presence line for the "
                         "GPIO. Skipping this GPIO action.");
@@ -746,9 +749,23 @@
                 }
 
                 logGpioPel(errMsg, i2cBusAddr);
+                // Take failure postAction
+                executePostFailAction(json, file);
                 return false;
             }
         }
+        else
+        {
+            // missing required informations
+            cerr << "VPD inventory JSON missing basic informations of presence "
+                    "for this FRU : ["
+                 << file << "]. Executing executePostFailAction." << endl;
+
+            // Take failure postAction
+            executePostFailAction(json, file);
+
+            return false;
+        }
     }
     return std::optional<bool>{};
 }
@@ -782,6 +799,8 @@
 
                 if (!outputLine)
                 {
+                    cerr << "Couldn't find the line for output pin - "
+                         << pinName << endl;
                     throw runtime_error(
                         "Couldn't find output line for the GPIO. "
                         "Skipping this GPIO action.");
@@ -805,9 +824,26 @@
                 }
 
                 logGpioPel(errMsg, i2cBusAddr);
+
+                // Take failure postAction
+                executePostFailAction(json, file);
+
                 return false;
             }
         }
+        else
+        {
+            // missing required informations
+            cerr
+                << "VPD inventory JSON missing basic informations of preAction "
+                   "for this FRU : ["
+                << file << "]. Executing executePostFailAction." << endl;
+
+            // Take failure postAction
+            executePostFailAction(json, file);
+
+            return false;
+        }
     }
     return true;
 }
