diff --git a/ibm_vpd_app.cpp b/ibm_vpd_app.cpp
index 9464405..c5c1452 100644
--- a/ibm_vpd_app.cpp
+++ b/ibm_vpd_app.cpp
@@ -323,6 +323,31 @@
     }
 }
 
+/*API to reset EEPROM pointer to a safe position to avoid VPD corruption.
+ * Currently do reset only for DIMM VPD.*/
+static void resetEEPROMPointer(const nlohmann::json& js, const string& file,
+                               ifstream& vpdFile)
+{
+    for (const auto& item : js["frus"][file])
+    {
+        if (item.find("extraInterfaces") != item.end())
+        {
+            if (item["extraInterfaces"].find(
+                    "xyz.openbmc_project.Inventory.Item.Dimm") !=
+                item["extraInterfaces"].end())
+            {
+                // moves the EEPROM pointer to 2048 'th byte.
+                vpdFile.seekg(2047, std::ios::beg);
+                // Read that byte and discard - to affirm the move
+                // operation.
+                char ch;
+                vpdFile.read(&ch, sizeof(ch));
+            }
+            return;
+        }
+    }
+}
+
 static Binary getVpdDataInVector(const nlohmann::json& js, const string& file)
 {
     uint32_t offset = 0;
@@ -348,6 +373,8 @@
     vpdFile.read(reinterpret_cast<char*>(&vpdVector[0]), maxVPDSize);
     vpdVector.resize(vpdFile.gcount());
 
+    resetEEPROMPointer(js, file, vpdFile);
+
     return vpdVector;
 }
 
