diff --git a/include/hostname_monitor.hpp b/include/hostname_monitor.hpp
index 17fbe51..65a5c1c 100644
--- a/include/hostname_monitor.hpp
+++ b/include/hostname_monitor.hpp
@@ -16,7 +16,7 @@
 inline void installCertificate(const std::filesystem::path& certPath)
 {
     crow::connections::systemBus->async_method_call(
-        [certPath](boost::system::error_code ec) {
+        [certPath](const boost::system::error_code ec) {
             if (ec)
             {
                 BMCWEB_LOG_ERROR << "Replace Certificate Fail..";
diff --git a/include/openbmc_dbus_rest.hpp b/include/openbmc_dbus_rest.hpp
index 78853a5..09bbd60 100644
--- a/include/openbmc_dbus_rest.hpp
+++ b/include/openbmc_dbus_rest.hpp
@@ -1611,7 +1611,7 @@
 {
     crow::connections::systemBus->async_method_call(
         [asyncResp](const boost::system::error_code ec,
-                    std::vector<std::string>& objectPaths) {
+                    const std::vector<std::string>& objectPaths) {
             if (ec)
             {
                 setErrorResponse(asyncResp->res,
@@ -1622,7 +1622,7 @@
             {
                 asyncResp->res.jsonValue = {{"status", "ok"},
                                             {"message", "200 OK"},
-                                            {"data", std::move(objectPaths)}};
+                                            {"data", objectPaths}};
             }
         },
         "xyz.openbmc_project.ObjectMapper",
@@ -1642,12 +1642,12 @@
 
     crow::connections::systemBus->async_method_call(
         [objectPath, asyncResp](const boost::system::error_code ec,
-                                GetSubTreeType& objectNames) {
+                                const GetSubTreeType& objectNames) {
             auto transaction = std::make_shared<InProgressEnumerateData>(
                 objectPath, asyncResp);
 
             transaction->subtree =
-                std::make_shared<GetSubTreeType>(std::move(objectNames));
+                std::make_shared<GetSubTreeType>(objectNames);
 
             if (ec)
             {
