diff --git a/vpd-manager/include/utility/json_utility.hpp b/vpd-manager/include/utility/json_utility.hpp
index aa1dd9e..9f5e12a 100644
--- a/vpd-manager/include/utility/json_utility.hpp
+++ b/vpd-manager/include/utility/json_utility.hpp
@@ -1,7 +1,6 @@
 #pragma once
 
 #include "error_codes.hpp"
-#include "event_logger.hpp"
 #include "exceptions.hpp"
 #include "logger.hpp"
 #include "types.hpp"
@@ -9,7 +8,6 @@
 #include <gpiod.hpp>
 #include <nlohmann/json.hpp>
 #include <utility/common_utility.hpp>
-#include <utility/vpd_specific_utility.hpp>
 
 #include <fstream>
 #include <type_traits>
@@ -411,10 +409,10 @@
         l_errMsg += l_ex.what();
         l_errMsg += " File: " + i_vpdFilePath + " Pel Logged";
 
-        uint16_t l_errCode = 0;
-
-        // ToDo -- Update Internal Rc code.
-        EventLogger::createAsyncPelWithInventoryCallout(
+        // ToDo -- Check if PEL is required. Update Internal Rc code.
+        /**
+         uint16_t l_errCode = 0;
+         EventLogger::createAsyncPelWithInventoryCallout(
             EventLogger::getErrorType(l_ex), types::SeverityType::Informational,
             {{getInventoryObjPathFromJson(i_parsedConfigJson, i_vpdFilePath,
                                           l_errCode),
@@ -422,6 +420,7 @@
             std::source_location::current().file_name(),
             std::source_location::current().function_name(), 0, l_errMsg,
             std::nullopt, std::nullopt, std::nullopt, std::nullopt);
+         */
 
         logging::logMessage(l_errMsg);
 
@@ -503,10 +502,10 @@
         l_errMsg += l_ex.what();
         l_errMsg += " File: " + i_vpdFilePath + " Pel Logged";
 
-        uint16_t l_errCode = 0;
-
         // ToDo -- Update Internal RC code
-        EventLogger::createAsyncPelWithInventoryCallout(
+        /**
+         uint16_t l_errCode = 0;
+         EventLogger::createAsyncPelWithInventoryCallout(
             EventLogger::getErrorType(l_ex), types::SeverityType::Informational,
             {{getInventoryObjPathFromJson(i_parsedConfigJson, i_vpdFilePath,
                                           l_errCode),
@@ -514,6 +513,7 @@
             std::source_location::current().file_name(),
             std::source_location::current().function_name(), 0, l_errMsg,
             std::nullopt, std::nullopt, std::nullopt, std::nullopt);
+         */
 
         logging::logMessage(l_errMsg);
 
