diff --git a/redfish-core/include/redfish.hpp b/redfish-core/include/redfish.hpp
index 55ffeec..9d7bbaa 100644
--- a/redfish-core/include/redfish.hpp
+++ b/redfish-core/include/redfish.hpp
@@ -223,7 +223,7 @@
         requestRoutesFabricAdapterCollection(app);
         requestRoutesSubmitTestEvent(app);
 
-        hypervisor::requestRoutesHypervisorSystems(app);
+        requestRoutesHypervisorSystems(app);
 
         requestRoutesTelemetryService(app);
         requestRoutesMetricReportDefinitionCollection(app);
diff --git a/redfish-core/lib/hypervisor_system.hpp b/redfish-core/lib/hypervisor_system.hpp
index 41d661a..565e372 100644
--- a/redfish-core/lib/hypervisor_system.hpp
+++ b/redfish-core/lib/hypervisor_system.hpp
@@ -23,7 +23,7 @@
 // normal ethernet internfaces in ethernet.hpp.  For the moment, we'll put
 // hypervisor in a namespace to isolate it, but these methods eventually need
 // deduplicated
-namespace redfish::hypervisor
+namespace redfish
 {
 
 /**
@@ -677,9 +677,9 @@
     }
 }
 
-inline void
-    handleHostnamePatch(const std::string& hostName,
-                        const std::shared_ptr<bmcweb::AsyncResp>& asyncResp)
+inline void handleHypervisorHostnamePatch(
+    const std::string& hostName,
+    const std::shared_ptr<bmcweb::AsyncResp>& asyncResp)
 {
     if (!isHostnameValid(hostName))
     {
@@ -967,7 +967,7 @@
 
             if (hostName)
             {
-                handleHostnamePatch(*hostName, asyncResp);
+                handleHypervisorHostnamePatch(*hostName, asyncResp);
             }
 
             if (dhcpv4)
@@ -1112,4 +1112,4 @@
             dbus::utility::DbusVariantType{std::move(command)});
         });
 }
-} // namespace redfish::hypervisor
+} // namespace redfish
