diff --git a/sysfs.cpp b/sysfs.cpp
index dd711e5..ba07c15 100644
--- a/sysfs.cpp
+++ b/sysfs.cpp
@@ -221,13 +221,15 @@
             path.replace(pos, 2, ":");
         }
 
-        for (const auto& hwmonInst : fs::directory_iterator(path))
+        auto dir_iter = fs::directory_iterator(path);
+        auto hwmonInst = std::find_if(
+            dir_iter, end(dir_iter), [](const fs::directory_entry& d) {
+                return (d.path().filename().string().find("hwmon") !=
+                        std::string::npos);
+            });
+        if (hwmonInst != end(dir_iter))
         {
-            if ((hwmonInst.path().filename().string().find("hwmon") !=
-                 std::string::npos))
-            {
-                return hwmonInst.path();
-            }
+            return hwmonInst->path();
         }
     }
     catch (const std::exception& e)
