diff --git a/virtualSensor.cpp b/virtualSensor.cpp
index d130200..e2e0399 100644
--- a/virtualSensor.cpp
+++ b/virtualSensor.cpp
@@ -596,15 +596,6 @@
         criticalIface =
             std::make_unique<Threshold<CriticalObject>>(bus, objPath.c_str());
 
-        criticalIface->criticalHigh(threshold.value(
-            "CriticalHigh", std::numeric_limits<double>::quiet_NaN()));
-        criticalIface->criticalLow(threshold.value(
-            "CriticalLow", std::numeric_limits<double>::quiet_NaN()));
-        criticalIface->setHighHysteresis(
-            threshold.value("CriticalHighHysteresis", defaultHysteresis));
-        criticalIface->setLowHysteresis(
-            threshold.value("CriticalLowHysteresis", defaultHysteresis));
-
         if (threshold.contains("CriticalHigh"))
         {
             criticalIface->setEntityInterfaceHigh(
@@ -632,6 +623,15 @@
             debug("Sensor Threshold:{NAME} = path:{PATH}", "NAME", objPath,
                   "PATH", entityPath);
         }
+
+        criticalIface->criticalHigh(threshold.value(
+            "CriticalHigh", std::numeric_limits<double>::quiet_NaN()));
+        criticalIface->criticalLow(threshold.value(
+            "CriticalLow", std::numeric_limits<double>::quiet_NaN()));
+        criticalIface->setHighHysteresis(
+            threshold.value("CriticalHighHysteresis", defaultHysteresis));
+        criticalIface->setLowHysteresis(
+            threshold.value("CriticalLowHysteresis", defaultHysteresis));
     }
 
     if (threshold.contains("WarningHigh") || threshold.contains("WarningLow"))
@@ -639,15 +639,6 @@
         warningIface =
             std::make_unique<Threshold<WarningObject>>(bus, objPath.c_str());
 
-        warningIface->warningHigh(threshold.value(
-            "WarningHigh", std::numeric_limits<double>::quiet_NaN()));
-        warningIface->warningLow(threshold.value(
-            "WarningLow", std::numeric_limits<double>::quiet_NaN()));
-        warningIface->setHighHysteresis(
-            threshold.value("WarningHighHysteresis", defaultHysteresis));
-        warningIface->setLowHysteresis(
-            threshold.value("WarningLowHysteresis", defaultHysteresis));
-
         if (threshold.contains("WarningHigh"))
         {
             warningIface->setEntityInterfaceHigh(
@@ -675,6 +666,15 @@
             debug("Sensor Threshold:{NAME} = path:{PATH}", "NAME", objPath,
                   "PATH", entityPath);
         }
+
+        warningIface->warningHigh(threshold.value(
+            "WarningHigh", std::numeric_limits<double>::quiet_NaN()));
+        warningIface->warningLow(threshold.value(
+            "WarningLow", std::numeric_limits<double>::quiet_NaN()));
+        warningIface->setHighHysteresis(
+            threshold.value("WarningHighHysteresis", defaultHysteresis));
+        warningIface->setLowHysteresis(
+            threshold.value("WarningLowHysteresis", defaultHysteresis));
     }
 
     if (threshold.contains("HardShutdownHigh") ||
