diff --git a/src/main.cpp b/src/main.cpp
index 1ae2c6c..0b254ec 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1,3 +1,5 @@
+#include "config.h"
+
 #include "associations.hpp"
 #include "processing.hpp"
 #include "src/argument.hpp"
@@ -15,9 +17,6 @@
 #include <sdbusplus/asio/connection.hpp>
 #include <sdbusplus/asio/object_server.hpp>
 
-constexpr const char* OBJECT_MAPPER_DBUS_NAME =
-    "xyz.openbmc_project.ObjectMapper";
-
 AssociationMaps associationMaps;
 
 static WhiteBlackList service_whitelist;
@@ -71,8 +70,8 @@
     // introspect right now.  Find out how to register signals in
     // sdbusplus
     sdbusplus::message::message m = system_bus->new_signal(
-        "/xyz/openbmc_project/object_mapper",
-        "xyz.openbmc_project.ObjectMapper.Private", "IntrospectionComplete");
+        MAPPER_PATH, "xyz.openbmc_project.ObjectMapper.Private",
+        "IntrospectionComplete");
     m.append(process_name);
     m.signal_send();
 }
@@ -450,7 +449,7 @@
     boost::container::flat_set<std::string> iface_whitelist;
     splitArgs(options["interface-namespaces"], iface_whitelist);
 
-    system_bus->request_name(OBJECT_MAPPER_DBUS_NAME);
+    system_bus->request_name(MAPPER_BUSNAME);
     sdbusplus::asio::object_server server(system_bus);
 
     // Construct a signal set registered for process termination.
@@ -572,7 +571,7 @@
                     // association path.
                     if ((connection_map->second.size() == 1) &&
                         (connection_map->second.begin()->first ==
-                         "xyz.openbmc_project.ObjectMapper"))
+                         MAPPER_BUSNAME))
                     {
                         // Remove the 2 association D-Bus paths and move the
                         // association to pending.
@@ -645,8 +644,7 @@
         associationChangedHandler);
 
     std::shared_ptr<sdbusplus::asio::dbus_interface> iface =
-        server.add_interface("/xyz/openbmc_project/object_mapper",
-                             "xyz.openbmc_project.ObjectMapper");
+        server.add_interface(MAPPER_PATH, MAPPER_INTERFACE);
 
     iface->register_method(
         "GetAncestors", [&interface_map](std::string& req_path,
