diff --git a/presence/json_parser.cpp b/presence/json_parser.cpp
index d850a95..c4ff3b8 100644
--- a/presence/json_parser.cpp
+++ b/presence/json_parser.cpp
@@ -48,11 +48,16 @@
     {"anyof", rpolicy::getAnyof}, {"fallback", rpolicy::getFallback}};
 
 JsonConfig::JsonConfig(sdbusplus::bus::bus& bus) : _bus(bus)
-{
-    using config = fan::JsonConfig;
+{}
 
-    // Load and process the json configuration
-    process(config::load(config::getConfFile(bus, confAppName, confFileName)));
+void JsonConfig::start(const std::string& confFile)
+{
+    process(phosphor::fan::JsonConfig::load(confFile));
+
+    for (auto& p : _policies)
+    {
+        p->monitor();
+    }
 }
 
 const policies& JsonConfig::get()
diff --git a/presence/json_parser.hpp b/presence/json_parser.hpp
index 38c76b9..857a2f8 100644
--- a/presence/json_parser.hpp
+++ b/presence/json_parser.hpp
@@ -52,7 +52,6 @@
 
     /**
      * Constructor
-     * Parses and populates the fan presence policies from a json file
      *
      * @param[in] bus - sdbusplus bus object
      */
@@ -75,6 +74,15 @@
     void sighupHandler(sdeventplus::source::Signal& sigSrc,
                        const struct signalfd_siginfo* sigInfo);
 
+    /**
+     * @brief Parses and populates the fan presence policies from
+     *        the json file and then starts the actual presence
+     *        detecting.
+     *
+     * @param[in] confFile - The conf file name to use
+     */
+    void start(const std::string& confFile);
+
   private:
     /* Fan presence policies */
     static policies _policies;
diff --git a/presence/tach_detect.cpp b/presence/tach_detect.cpp
index 41af199..3527105 100644
--- a/presence/tach_detect.cpp
+++ b/presence/tach_detect.cpp
@@ -15,6 +15,7 @@
  */
 #include "config.h"
 #ifdef PRESENCE_USE_JSON
+#include "json_config.hpp"
 #include "json_parser.hpp"
 #else
 #include "generated.hpp"
@@ -34,12 +35,15 @@
     bus.attach_event(event.get(), SD_EVENT_PRIORITY_NORMAL);
 
 #ifdef PRESENCE_USE_JSON
-    // Use json file for presence config
+
     presence::JsonConfig config(bus);
-    for (auto& p : presence::JsonConfig::get())
-    {
-        p->monitor();
-    }
+
+    // jsonConfig will call config::start when
+    // the conf file is available.
+    phosphor::fan::JsonConfig jsonConfig{
+        bus, presence::confAppName, presence::confFileName,
+        std::bind(&presence::JsonConfig::start, &config,
+                  std::placeholders::_1)};
 
     stdplus::signal::block(SIGHUP);
     sdeventplus::source::Signal signal(
