diff --git a/src/entity_manager/entity_manager.cpp b/src/entity_manager/entity_manager.cpp
index ef4212a..852db33 100644
--- a/src/entity_manager/entity_manager.cpp
+++ b/src/entity_manager/entity_manager.cpp
@@ -14,9 +14,7 @@
 #include "utils.hpp"
 
 #include <boost/algorithm/string/case_conv.hpp>
-#include <boost/algorithm/string/classification.hpp>
 #include <boost/algorithm/string/replace.hpp>
-#include <boost/algorithm/string/split.hpp>
 #include <boost/asio/io_context.hpp>
 #include <boost/asio/post.hpp>
 #include <boost/asio/steady_timer.hpp>
diff --git a/src/entity_manager/utils.cpp b/src/entity_manager/utils.cpp
index 9e379e9..6f51ec8 100644
--- a/src/entity_manager/utils.cpp
+++ b/src/entity_manager/utils.cpp
@@ -6,9 +6,7 @@
 #include "phosphor-logging/lg2.hpp"
 
 #include <boost/algorithm/string/case_conv.hpp>
-#include <boost/algorithm/string/classification.hpp>
 #include <boost/algorithm/string/replace.hpp>
-#include <boost/algorithm/string/split.hpp>
 #include <phosphor-logging/lg2.hpp>
 #include <sdbusplus/bus/match.hpp>
 
@@ -217,15 +215,14 @@
         // operate on the rest
         std::string end = strPtr->substr(nextItemIdx);
 
-        std::vector<std::string> split;
-        boost::split(split, end, boost::is_any_of(" "));
+        std::vector<std::string> splitResult = split(end, ' ');
 
         // need at least 1 operation and number
-        if (split.size() < 2)
+        if (splitResult.size() < 2)
         {
             lg2::error("Syntax error on template replacement of {STR}", "STR",
                        *strPtr);
-            for (const std::string& data : split)
+            for (const std::string& data : splitResult)
             {
                 lg2::error("{SPLIT} ", "SPLIT", data);
             }
@@ -237,8 +234,8 @@
         // only do math on numbers.. we might concatenate strings in the
         // future, but thats later
         int number = std::visit(VariantToIntVisitor(), propValue);
-        auto exprBegin = split.begin();
-        auto exprEnd = split.end();
+        auto exprBegin = splitResult.begin();
+        auto exprEnd = splitResult.end();
 
         number = expression::evaluate(number, exprBegin, exprEnd);
 
@@ -250,7 +247,7 @@
         ret = replaced;
 
         std::string result = prefix + std::to_string(number);
-        while (exprEnd != split.end())
+        while (exprEnd != splitResult.end())
         {
             result.append(" ").append(*exprEnd++);
         }
