diff --git a/sensors/include/Thresholds.hpp b/sensors/include/Thresholds.hpp
index 90e148c..1a6f752 100644
--- a/sensors/include/Thresholds.hpp
+++ b/sensors/include/Thresholds.hpp
@@ -37,7 +37,7 @@
 
 bool ParseThresholdsFromAttr(std::vector<thresholds::Threshold> &thresholds,
                              const std::string &input_path,
-                             const double scale_factor);
+                             const double &scale_factor);
 bool HasCriticalInterface(
     const std::vector<thresholds::Threshold> &threshold_vector);
 
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)
     {
