diff --git a/redfish-core/lib/certificate_service.hpp b/redfish-core/lib/certificate_service.hpp
index 4400596..10931c4 100644
--- a/redfish-core/lib/certificate_service.hpp
+++ b/redfish-core/lib/certificate_service.hpp
@@ -505,7 +505,7 @@
     }
     BMCWEB_LOG_INFO("Certificate URI to replace: {}", certURI);
 
-    boost::urls::result<boost::urls::url> parsedUrl =
+    boost::system::result<boost::urls::url> parsedUrl =
         boost::urls::parse_relative_ref(certURI);
     if (!parsedUrl)
     {
diff --git a/redfish-core/lib/ethernet.hpp b/redfish-core/lib/ethernet.hpp
index 0f35f7e..bd44677 100644
--- a/redfish-core/lib/ethernet.hpp
+++ b/redfish-core/lib/ethernet.hpp
@@ -1872,7 +1872,7 @@
         }
         BMCWEB_LOG_INFO("Parent Interface URI: {}", parentInterfaceUri);
 
-        boost::urls::result<boost::urls::url_view> parsedUri =
+        boost::system::result<boost::urls::url_view> parsedUri =
             boost::urls::parse_relative_ref(parentInterfaceUri);
         if (!parsedUri)
         {
diff --git a/redfish-core/lib/event_service.hpp b/redfish-core/lib/event_service.hpp
index 89c2337..c1ad0d8 100644
--- a/redfish-core/lib/event_service.hpp
+++ b/redfish-core/lib/event_service.hpp
@@ -318,7 +318,7 @@
             }
         }
 
-        boost::urls::result<boost::urls::url> url =
+        boost::system::result<boost::urls::url> url =
             boost::urls::parse_absolute_uri(destUrl);
         if (!url)
         {
diff --git a/redfish-core/lib/trigger.hpp b/redfish-core/lib/trigger.hpp
index 48e348e..3388580 100644
--- a/redfish-core/lib/trigger.hpp
+++ b/redfish-core/lib/trigger.hpp
@@ -246,7 +246,7 @@
 inline std::optional<sdbusplus::message::object_path>
     getReportPathFromReportDefinitionUri(const std::string& uri)
 {
-    boost::urls::result<boost::urls::url_view> parsed =
+    boost::system::result<boost::urls::url_view> parsed =
         boost::urls::parse_relative_ref(uri);
 
     if (!parsed)
@@ -543,7 +543,7 @@
     size_t uriIdx = 0;
     for (const std::string& uriStr : *ctx.metricProperties)
     {
-        boost::urls::result<boost::urls::url_view> uri =
+        boost::system::result<boost::urls::url_view> uri =
             boost::urls::parse_relative_ref(uriStr);
         if (!uri)
         {
diff --git a/redfish-core/lib/virtual_media.hpp b/redfish-core/lib/virtual_media.hpp
index d854ee5..95cbdf1 100644
--- a/redfish-core/lib/virtual_media.hpp
+++ b/redfish-core/lib/virtual_media.hpp
@@ -128,7 +128,7 @@
  */
 inline std::string getTransferProtocolTypeFromUri(const std::string& imageUri)
 {
-    boost::urls::result<boost::urls::url_view> url =
+    boost::system::result<boost::urls::url_view> url =
         boost::urls::parse_uri(imageUri);
     if (!url)
     {
@@ -553,7 +553,7 @@
 
         return;
     }
-    boost::urls::result<boost::urls::url_view> url =
+    boost::system::result<boost::urls::url_view> url =
         boost::urls::parse_uri(*actionParams.imageUrl);
     if (!url)
     {
