diff --git a/control/json/manager.cpp b/control/json/manager.cpp
index 78d30f3..22c11f1 100644
--- a/control/json/manager.cpp
+++ b/control/json/manager.cpp
@@ -22,6 +22,7 @@
 #include "fan.hpp"
 #include "group.hpp"
 #include "json_config.hpp"
+#include "power_state.hpp"
 #include "profile.hpp"
 #include "sdbusplus.hpp"
 #include "zone.hpp"
@@ -55,7 +56,11 @@
     Manager::_objects;
 
 Manager::Manager(const sdeventplus::Event& event) :
-    _bus(util::SDBusPlus::getBus()), _event(event)
+    _bus(util::SDBusPlus::getBus()), _event(event),
+    _powerState(std::make_unique<PGoodState>(
+        util::SDBusPlus::getBus(),
+        std::bind(std::mem_fn(&Manager::powerStateChanged), this,
+                  std::placeholders::_1)))
 {
     load();
 }
@@ -141,6 +146,16 @@
                   [](const auto& entry) { entry.second->enable(); });
 }
 
+void Manager::powerStateChanged(bool powerStateOn)
+{
+    if (powerStateOn)
+    {
+        std::for_each(_zones.begin(), _zones.end(), [](const auto& entry) {
+            entry.second->setTarget(entry.second->getPoweronTarget());
+        });
+    }
+}
+
 const std::vector<std::string>& Manager::getActiveProfiles()
 {
     return _activeProfiles;
