diff --git a/libpldmresponder/platform.cpp b/libpldmresponder/platform.cpp
index 6801566..211ff65 100644
--- a/libpldmresponder/platform.cpp
+++ b/libpldmresponder/platform.cpp
@@ -135,6 +135,12 @@
 
 Response Handler::getPDR(const pldm_msg* request, size_t payloadLength)
 {
+    if (!pdrCreated)
+    {
+        generate(*dBusIntf, pdrJsonsDir, pdrRepo);
+        pdrCreated = true;
+    }
+
     // Build FRU table if not built, since entity association PDR's are built
     // when the FRU table is constructed.
     if (fruHandler)
diff --git a/libpldmresponder/platform.hpp b/libpldmresponder/platform.hpp
index c79a2ed..1ff6bc4 100644
--- a/libpldmresponder/platform.hpp
+++ b/libpldmresponder/platform.hpp
@@ -56,16 +56,21 @@
 class Handler : public CmdHandler
 {
   public:
-    Handler(const pldm::utils::DBusHandler& dBusIntf,
+    Handler(const pldm::utils::DBusHandler* dBusIntf,
             const std::string& pdrJsonsDir, const std::string& eventsJsonsDir,
             pldm_pdr* repo, HostPDRHandler* hostPDRHandler,
-            fru::Handler* fruHandler,
+            fru::Handler* fruHandler, bool buildPDRLazily = false,
             const std::optional<EventMap>& addOnHandlersMap = std::nullopt) :
         pdrRepo(repo),
         hostPDRHandler(hostPDRHandler), stateSensorHandler(eventsJsonsDir),
-        fruHandler(fruHandler)
+        fruHandler(fruHandler), dBusIntf(dBusIntf), pdrJsonsDir(pdrJsonsDir),
+        pdrCreated(false)
     {
-        generate(dBusIntf, pdrJsonsDir, pdrRepo);
+        if (!buildPDRLazily)
+        {
+            generate(*dBusIntf, pdrJsonsDir, pdrRepo);
+            pdrCreated = true;
+        }
 
         handlers.emplace(PLDM_GET_PDR,
                          [this](const pldm_msg* request, size_t payloadLength) {
@@ -404,6 +409,9 @@
     HostPDRHandler* hostPDRHandler;
     events::StateSensorHandler stateSensorHandler;
     fru::Handler* fruHandler;
+    const pldm::utils::DBusHandler* dBusIntf;
+    std::string pdrJsonsDir;
+    bool pdrCreated;
 };
 
 } // namespace platform
