diff --git a/redfish-core/lib/managers.hpp b/redfish-core/lib/managers.hpp
index a9efb4c..65bea03 100644
--- a/redfish-core/lib/managers.hpp
+++ b/redfish-core/lib/managers.hpp
@@ -21,6 +21,7 @@
 #include <boost/date_time.hpp>
 #include <dbus_utility.hpp>
 #include <sstream>
+#include <utils/systemd_utils.hpp>
 #include <variant>
 
 namespace redfish
@@ -944,6 +945,7 @@
         res.jsonValue["Status"] = {{"State", "Enabled"}, {"Health", "OK"}};
         res.jsonValue["ManagerType"] = "BMC";
         res.jsonValue["UUID"] = uuid;
+        res.jsonValue["ServiceEntryPointUUID"] = systemd_utils::getUuid();
         res.jsonValue["Model"] = "OpenBmc"; // TODO(ed), get model
 
         res.jsonValue["LogServices"] = {
diff --git a/redfish-core/lib/service_root.hpp b/redfish-core/lib/service_root.hpp
index 8cbab6f..a525ca6 100644
--- a/redfish-core/lib/service_root.hpp
+++ b/redfish-core/lib/service_root.hpp
@@ -17,7 +17,7 @@
 
 #include "node.hpp"
 
-#include <systemd/sd-id128.h>
+#include <utils/systemd_utils.hpp>
 
 namespace redfish
 {
@@ -64,30 +64,9 @@
         res.jsonValue["UpdateService"] = {
             {"@odata.id", "/redfish/v1/UpdateService"}};
 
-        res.jsonValue["UUID"] = getUuid();
+        res.jsonValue["UUID"] = systemd_utils::getUuid();
         res.end();
     }
-
-    const std::string getUuid()
-    {
-        std::string ret;
-        // This ID needs to match the one in ipmid
-        sd_id128_t appId = SD_ID128_MAKE(e0, e1, 73, 76, 64, 61, 47, da, a5, 0c,
-                                         d0, cc, 64, 12, 45, 78);
-        sd_id128_t machineId = SD_ID128_NULL;
-
-        if (sd_id128_get_machine_app_specific(appId, &machineId) == 0)
-        {
-            std::array<char, SD_ID128_STRING_MAX> str;
-            ret = sd_id128_to_string(machineId, str.data());
-            ret.insert(8, 1, '-');
-            ret.insert(13, 1, '-');
-            ret.insert(18, 1, '-');
-            ret.insert(23, 1, '-');
-        }
-
-        return ret;
-    }
 };
 
 } // namespace redfish
