diff --git a/libpldmresponder/oem_handler.hpp b/libpldmresponder/oem_handler.hpp
index 3d6c768..bbb18eb 100644
--- a/libpldmresponder/oem_handler.hpp
+++ b/libpldmresponder/oem_handler.hpp
@@ -89,6 +89,9 @@
      *         is sent to host */
     virtual void countSetEventReceiver() = 0;
 
+    /** @brief Interface to check the BMC state */
+    virtual int checkBMCState() = 0;
+
     virtual ~Handler() = default;
 
   protected:
diff --git a/libpldmresponder/platform.cpp b/libpldmresponder/platform.cpp
index 7c011fa..9cdc6fd 100644
--- a/libpldmresponder/platform.cpp
+++ b/libpldmresponder/platform.cpp
@@ -144,8 +144,20 @@
 
 Response Handler::getPDR(const pldm_msg* request, size_t payloadLength)
 {
-    // Build FRU table if not built, since entity association PDR's are built
-    // when the FRU table is constructed.
+    if (hostPDRHandler)
+    {
+        if (hostPDRHandler->isHostUp() && oemPlatformHandler != nullptr)
+        {
+            auto rc = oemPlatformHandler->checkBMCState();
+            if (rc != PLDM_SUCCESS)
+            {
+                return ccOnlyResponse(request, PLDM_ERROR_NOT_READY);
+            }
+        }
+    }
+
+    // Build FRU table if not built, since entity association PDR's
+    // are built when the FRU table is constructed.
     if (fruHandler)
     {
         fruHandler->buildFRUTable();
@@ -679,8 +691,8 @@
     return response;
 }
 
-void Handler::_processPostGetPDRActions(
-    sdeventplus::source::EventBase& /*source */)
+void Handler::_processPostGetPDRActions(sdeventplus::source::EventBase&
+                                        /*source */)
 {
     deferredGetPDREvent.reset();
     dbusToPLDMEventHandler->listenSensorEvent(pdrRepo, sensorDbusObjMaps);
