diff --git a/sensors/src/CPUSensorMain.cpp b/sensors/src/CPUSensorMain.cpp
index d6d68ad..80f3f1c 100644
--- a/sensors/src/CPUSensorMain.cpp
+++ b/sensors/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>(
diff --git a/sensors/src/Thresholds.cpp b/sensors/src/Thresholds.cpp
index b792a9b..c40d35d 100644
--- a/sensors/src/Thresholds.cpp
+++ b/sensors/src/Thresholds.cpp
@@ -253,7 +253,7 @@
 
 bool ParseThresholdsFromAttr(
     std::vector<thresholds::Threshold> &threshold_vector,
-    const std::string &input_path, const double scale_factor)
+    const std::string &input_path, const double &scale_factor)
 {
     for (auto &type : ATTR_TYPES)
     {
