diff --git a/include/str_utility.hpp b/include/str_utility.hpp
index 39e1c82..7142583 100644
--- a/include/str_utility.hpp
+++ b/include/str_utility.hpp
@@ -14,10 +14,11 @@
 {
     size_t start = 0;
     size_t end = 0;
-    while ((start = str.find_first_not_of(delim, end)) != std::string::npos)
+    while (end <= str.size())
     {
         end = str.find(delim, start);
         strings.emplace_back(str.substr(start, end - start));
+        start = end + 1;
     }
 }
 } // namespace bmcweb
diff --git a/test/include/str_utility_test.cpp b/test/include/str_utility_test.cpp
index bab14c9..a32ce09 100644
--- a/test/include/str_utility_test.cpp
+++ b/test/include/str_utility_test.cpp
@@ -15,7 +15,6 @@
 {
 
 using ::testing::ElementsAre;
-using ::testing::IsEmpty;
 
 TEST(Split, PositiveTests)
 {
@@ -23,9 +22,31 @@
     std::vector<std::string> vec;
     split(vec, "xx-abc-xx-abb", '-');
     EXPECT_THAT(vec, ElementsAre("xx", "abc", "xx", "abb"));
+
     vec.clear();
     split(vec, "", '-');
-    EXPECT_THAT(vec, IsEmpty());
+    EXPECT_THAT(vec, ElementsAre(""));
+
+    vec.clear();
+    split(vec, "foo/", '/');
+    EXPECT_THAT(vec, ElementsAre("foo", ""));
+
+    vec.clear();
+    split(vec, "/bar", '/');
+    EXPECT_THAT(vec, ElementsAre("", "bar"));
+
+    vec.clear();
+    split(vec, "/", '/');
+    EXPECT_THAT(vec, ElementsAre("", ""));
+}
+
+TEST(Split, Sensor)
+{
+    using bmcweb::split;
+    std::vector<std::string> vec;
+    split(vec, "/xyz/openbmc_project/sensors/unit/name", '/');
+    EXPECT_THAT(vec, ElementsAre("", "xyz", "openbmc_project", "sensors",
+                                 "unit", "name"));
 }
 
 } // namespace
