diff --git a/src/HwmonTempMain.cpp b/src/HwmonTempMain.cpp
index aea29ab..1d2fb5c 100644
--- a/src/HwmonTempMain.cpp
+++ b/src/HwmonTempMain.cpp
@@ -429,10 +429,11 @@
                         thisSensorParameters, pollRate, interfacePath,
                         readState);
                     sensor->setupRead();
-                    hwmonName.erase(
-                        remove(hwmonName.begin(), hwmonName.end(), sensorName),
-                        hwmonName.end());
                 }
+                hwmonName.erase(
+                    remove(hwmonName.begin(), hwmonName.end(), sensorName),
+                    hwmonName.end());
+
                 // Looking for keys like "Name1" for temp2_input,
                 // "Name2" for temp3_input, etc.
                 int i = 0;
@@ -479,10 +480,11 @@
                             std::move(thresholds), thisSensorParameters,
                             pollRate, interfacePath, readState);
                         sensor->setupRead();
-                        hwmonName.erase(remove(hwmonName.begin(),
-                                               hwmonName.end(), sensorName),
-                                        hwmonName.end());
                     }
+
+                    hwmonName.erase(
+                        remove(hwmonName.begin(), hwmonName.end(), sensorName),
+                        hwmonName.end());
                 }
                 if (hwmonName.empty())
                 {
