diff --git a/control/Makefile.am b/control/Makefile.am
index f559a82..8367952 100644
--- a/control/Makefile.am
+++ b/control/Makefile.am
@@ -5,15 +5,7 @@
 	phosphor-fan-control
 
 phosphor_fan_control_SOURCES = \
-	argument.cpp \
-	fan.cpp \
-	main.cpp \
-	manager.cpp \
-	utility.cpp \
-	preconditions.cpp \
-	actions.cpp \
-	triggers.cpp \
-	zone.cpp
+	main.cpp
 
 phosphor_fan_control_LDADD = \
 	-lstdc++fs \
@@ -32,6 +24,8 @@
 
 if WANT_JSON_CONTROL
 phosphor_fan_control_SOURCES += \
+	fan.cpp \
+	zone.cpp \
 	json_parser.cpp \
 	json/manager.cpp \
 	json/profile.cpp \
@@ -41,6 +35,15 @@
 	json/event.cpp \
 	json/actions/default_floor.cpp
 else
+phosphor_fan_control_SOURCES += \
+	argument.cpp \
+	fan.cpp \
+	manager.cpp \
+	utility.cpp \
+	preconditions.cpp \
+	actions.cpp \
+	triggers.cpp \
+	zone.cpp
 BUILT_SOURCES = fan_zone_defs.cpp
 nodist_phosphor_fan_control_SOURCES = \
 	fan_zone_defs.cpp
diff --git a/control/main.cpp b/control/main.cpp
index 98edfb9..9170baf 100644
--- a/control/main.cpp
+++ b/control/main.cpp
@@ -13,12 +13,15 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+#include "config.h"
+
+#ifndef CONTROL_USE_JSON
 #include "argument.hpp"
 #include "manager.hpp"
-#include "sdbusplus.hpp"
-#ifdef CONTROL_USE_JSON
+#else
 #include "json/manager.hpp"
 #endif
+#include "sdbusplus.hpp"
 
 #include <phosphor-logging/log.hpp>
 #include <sdbusplus/bus.hpp>
diff --git a/control/manager.cpp b/control/manager.cpp
index 053861b..8109367 100644
--- a/control/manager.cpp
+++ b/control/manager.cpp
@@ -19,9 +19,6 @@
 
 #include "sdbusplus.hpp"
 #include "utility.hpp"
-#ifdef CONTROL_USE_JSON
-#include "json_parser.hpp"
-#endif
 
 #include <unistd.h>
 
@@ -91,20 +88,7 @@
 {
     // Create the appropriate Zone objects based on the
     // actual system configuration.
-#ifdef CONTROL_USE_JSON
-    for (auto& group : getZoneGroups(bus))
-    {
-        // Create a Zone object for each zone in the group
-        for (auto& z : std::get<zoneListPos>(group))
-        {
-            fs::path path{CONTROL_OBJPATH};
-            path /= std::to_string(std::get<zoneNumPos>(z));
-            _zones.emplace(
-                std::get<zoneNumPos>(z),
-                std::make_unique<Zone>(mode, _bus, path.string(), event, z));
-        }
-    }
-#else
+
     // Find the 1 ZoneGroup that meets all of its conditions
     for (auto& group : _zoneLayouts)
     {
@@ -130,7 +114,6 @@
             break;
         }
     }
-#endif
 
     if (mode == Mode::control)
     {
@@ -144,11 +127,7 @@
     {
         z.second->setFullSpeed();
     }
-#ifdef CONTROL_USE_JSON
-    auto delay = getPowerOnDelay(_bus, event);
-#else
     auto delay = _powerOnDelay;
-#endif
     while (delay > 0)
     {
         delay = sleep(delay);
diff --git a/control/manager.hpp b/control/manager.hpp
index 496b343..bb46a41 100644
--- a/control/manager.hpp
+++ b/control/manager.hpp
@@ -1,7 +1,5 @@
 #pragma once
 
-#include "config.h"
-
 #include "types.hpp"
 #include "zone.hpp"
 
@@ -67,7 +65,7 @@
      * The fan zones in the system
      */
     ZoneMap _zones;
-#ifndef CONTROL_USE_JSON
+
     /**
      * The fan zone layout for the system.
      * This is generated data.
@@ -80,7 +78,6 @@
      * to give them a chance to get there.
      */
     static const unsigned int _powerOnDelay;
-#endif
 };
 
 } // namespace control
