diff --git a/vpd-manager/include/constants.hpp b/vpd-manager/include/constants.hpp
index 5195c38..f88944c 100644
--- a/vpd-manager/include/constants.hpp
+++ b/vpd-manager/include/constants.hpp
@@ -181,6 +181,7 @@
 constexpr auto powerVsImagePrefix_MZ = "MZ";
 constexpr auto powerVsImagePrefix_NY = "NY";
 constexpr auto powerVsImagePrefix_NZ = "NZ";
+constexpr auto badVpdDir = "/var/lib/vpd/dumps/";
 
 static constexpr auto BD_YEAR_END = 4;
 static constexpr auto BD_MONTH_END = 7;
diff --git a/vpd-manager/include/utility/vpd_specific_utility.hpp b/vpd-manager/include/utility/vpd_specific_utility.hpp
index a371878..bcdce9d 100644
--- a/vpd-manager/include/utility/vpd_specific_utility.hpp
+++ b/vpd-manager/include/utility/vpd_specific_utility.hpp
@@ -36,7 +36,7 @@
 inline std::string generateBadVPDFileName(
     const std::string& i_vpdFilePath) noexcept
 {
-    std::string l_badVpdFileName{BAD_VPD_DIR};
+    std::string l_badVpdFileName{constants::badVpdDir};
     try
     {
         if (i_vpdFilePath.find("i2c") != std::string::npos)
@@ -71,8 +71,8 @@
 /**
  * @brief API which dumps the broken/bad vpd in a directory.
  * When the vpd is bad, this API places  the bad vpd file inside
- * "/tmp/bad-vpd" in BMC, in order to collect bad VPD data as a part of user
- * initiated BMC dump.
+ * "/var/lib/vpd/dumps" in BMC, in order to collect bad VPD data as a part of
+ * user initiated BMC dump.
  *
  *
  * @param[in] i_vpdFilePath - vpd file path
@@ -86,7 +86,7 @@
     int l_rc{constants::FAILURE};
     try
     {
-        std::filesystem::create_directory(BAD_VPD_DIR);
+        std::filesystem::create_directory(constants::badVpdDir);
         auto l_badVpdPath = generateBadVPDFileName(i_vpdFilePath);
 
         if (l_badVpdPath.empty())
@@ -113,9 +113,11 @@
         std::ofstream l_badVpdFileStream(l_badVpdPath, std::ofstream::binary);
         if (!l_badVpdFileStream.is_open())
         {
-            throw std::runtime_error(
-                "Failed to open bad vpd file path in /tmp/bad-vpd. "
-                "Unable to dump the broken/bad vpd file.");
+            const std::string l_errorMsg{
+                "Failed to open bad vpd file path [" + l_badVpdPath +
+                "]. Unable to dump the broken/bad vpd file."};
+
+            throw std::runtime_error(l_errorMsg);
         }
 
         l_badVpdFileStream.write(
