diff --git a/control/json/zone.cpp b/control/json/zone.cpp
index be827cf..90aeb66 100644
--- a/control/json/zone.cpp
+++ b/control/json/zone.cpp
@@ -74,6 +74,12 @@
         setInterfaces(jsonObj);
     }
 
+    // Restore thermal control current mode state
+    restoreCurrentMode();
+
+    // Emit object added for this zone dbus object
+    this->emit_object_added();
+
     // Start timer for fan target decreases
     _decTimer.restart(_decInterval);
 }
@@ -373,6 +379,33 @@
     oArch(ThermalObject::current());
 }
 
+void Zone::restoreCurrentMode()
+{
+    auto current = ThermalObject::current();
+    fs::path path{CONTROL_PERSIST_ROOT_PATH};
+    path /= getName();
+    path /= "CurrentMode";
+    fs::create_directories(path.parent_path());
+
+    try
+    {
+        if (fs::exists(path))
+        {
+            std::ifstream ifs(path.c_str(), std::ios::in | std::ios::binary);
+            cereal::JSONInputArchive iArch(ifs);
+            iArch(current);
+        }
+    }
+    catch (std::exception& e)
+    {
+        log<level::ERR>(e.what());
+        fs::remove(path);
+        current = ThermalObject::current();
+    }
+
+    this->current(current);
+}
+
 /**
  * Properties of interfaces supported by the zone configuration that return
  * a handler function that sets the zone's property value(s) and persist state.
diff --git a/control/json/zone.hpp b/control/json/zone.hpp
index e39a735..e46522a 100644
--- a/control/json/zone.hpp
+++ b/control/json/zone.hpp
@@ -465,6 +465,12 @@
     void saveCurrentMode();
 
     /**
+     * @brief Restore persisted thermal control current mode property
+     * value, setting the mode to "Default" otherwise
+     */
+    void restoreCurrentMode();
+
+    /**
      * @brief Get the request target base if defined, otherwise the the current
      * target is returned
      *
