diff --git a/include/sdrutils.hpp b/include/sdrutils.hpp
index 8b93e9b..6510d6c 100644
--- a/include/sdrutils.hpp
+++ b/include/sdrutils.hpp
@@ -94,10 +94,10 @@
     // get sensor type string from path, path is defined as
     // /xyz/openbmc_project/sensors/<type>/label
     size_t typeEnd = path.rfind("/");
-    size_t typeStart = path.rfind("/", typeEnd - 1);
+    size_t typeStart = path.rfind("/", typeEnd - 1) + 1;
     if (typeEnd != std::string::npos && typeStart != std::string::npos)
     {
-        return path.substr(typeStart + 1, typeEnd - typeStart);
+        return path.substr(typeStart, typeEnd - typeStart);
     }
     return path;
 }
diff --git a/src/sensorcommands.cpp b/src/sensorcommands.cpp
index 3c1f050..a4fe05a 100644
--- a/src/sensorcommands.cpp
+++ b/src/sensorcommands.cpp
@@ -53,12 +53,20 @@
 static SensorSubTree sensorTree;
 static boost::container::flat_map<std::string, ManagedObjectType> SensorCache;
 
-const static boost::container::flat_map<const char *, SensorUnits> sensorUnits{
-    {{"temperature", SensorUnits::degreesC},
-     {"voltage", SensorUnits::volts},
-     {"current", SensorUnits::amps},
-     {"fan_tach", SensorUnits::rpm},
-     {"power", SensorUnits::watts}}};
+// Specify the comparison required to sort and find char* map objects
+struct CmpStr
+{
+    bool operator()(const char *a, const char *b) const
+    {
+        return std::strcmp(a, b) < 0;
+    }
+};
+const static boost::container::flat_map<const char *, SensorUnits, CmpStr>
+    sensorUnits{{{"temperature", SensorUnits::degreesC},
+                 {"voltage", SensorUnits::volts},
+                 {"current", SensorUnits::amps},
+                 {"fan_tach", SensorUnits::rpm},
+                 {"power", SensorUnits::watts}}};
 
 void registerSensorFunctions() __attribute__((constructor));
 static sdbusplus::bus::bus dbus(ipmid_get_sd_bus_connection());
