diff --git a/src/CPUSensorMain.cpp b/src/CPUSensorMain.cpp
index d6d68ad..80f3f1c 100644
--- a/src/CPUSensorMain.cpp
+++ b/src/CPUSensorMain.cpp
@@ -212,17 +212,15 @@
             std::string sensorName = label + " CPU" + std::to_string(cpuId);
             std::vector<thresholds::Threshold> sensorThresholds;
             std::string labelHead = label.substr(0, label.find(" "));
-            if (!ParseThresholdsFromConfig(*sensorData, sensorThresholds,
-                                           &labelHead))
-            {
-                continue;
-            }
+            ParseThresholdsFromConfig(*sensorData, sensorThresholds,
+                                      &labelHead);
             if (!sensorThresholds.size())
             {
                 if (!ParseThresholdsFromAttr(sensorThresholds, inputPathStr,
                                              CPUSensor::SENSOR_SCALE_FACTOR))
                 {
-                    continue;
+                    std::cerr << "error populating thresholds for "
+                              << sensorName << "\n";
                 }
             }
             sensors[sensorName] = std::make_unique<CPUSensor>(
