diff --git a/host_pdr_handler.cpp b/host_pdr_handler.cpp
index 389a492..17b0b88 100644
--- a/host_pdr_handler.cpp
+++ b/host_pdr_handler.cpp
@@ -12,6 +12,8 @@
 namespace pldm
 {
 
+using namespace pldm::utils;
+using namespace sdbusplus::bus::match::rules;
 using Json = nlohmann::json;
 namespace fs = std::filesystem;
 constexpr auto fruJson = "host_frus.json";
@@ -59,6 +61,26 @@
                       << e.what() << std::endl;
         }
     }
+
+    hostOffMatch = std::make_unique<sdbusplus::bus::match::match>(
+        pldm::utils::DBusHandler::getBus(),
+        propertiesChanged("/xyz/openbmc_project/state/host0",
+                          "xyz.openbmc_project.State.Host"),
+        [repo](sdbusplus::message::message& msg) {
+            DbusChangedProps props{};
+            std::string intf;
+            msg.read(intf, props);
+            const auto itr = props.find("CurrentHostState");
+            if (itr != props.end())
+            {
+                PropertyValue value = itr->second;
+                auto propVal = std::get<std::string>(value);
+                if (propVal == "xyz.openbmc_project.State.Host.HostState.Off")
+                {
+                    pldm_pdr_remove_remote_pdrs(repo);
+                }
+            }
+        });
 }
 
 void HostPDRHandler::fetchPDR(std::vector<uint32_t>&& recordHandles)
diff --git a/host_pdr_handler.hpp b/host_pdr_handler.hpp
index fec6da6..850afdb 100644
--- a/host_pdr_handler.hpp
+++ b/host_pdr_handler.hpp
@@ -117,6 +117,8 @@
      *  association tree
      */
     std::map<EntityType, pldm_entity> parents;
+    /** @brief D-Bus property changed signal match */
+    std::unique_ptr<sdbusplus::bus::match::match> hostOffMatch;
 };
 
 } // namespace pldm
diff --git a/utils.hpp b/utils.hpp
index 830a97f..6ac282d 100644
--- a/utils.hpp
+++ b/utils.hpp
@@ -131,6 +131,8 @@
 using PropertyValue =
     std::variant<bool, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t,
                  uint64_t, double, std::string>;
+using DbusProp = std::string;
+using DbusChangedProps = std::map<DbusProp, PropertyValue>;
 
 /**
  * @brief The interface for DBusHandler
