diff --git a/app.cpp b/app.cpp
index b4d7765..8d7fba3 100644
--- a/app.cpp
+++ b/app.cpp
@@ -28,7 +28,7 @@
     try
     {
         phosphor::inventory::manager::Manager manager(
-            sdbusplus::bus::new_system(), BUSNAME, INVENTORY_ROOT, IFACE);
+            sdbusplus::bus::new_system(), BUSNAME, INVENTORY_ROOT);
         manager.run();
         exit(EXIT_SUCCESS);
     }
diff --git a/manager.cpp b/manager.cpp
index c7ceaa8..0f5b77d 100644
--- a/manager.cpp
+++ b/manager.cpp
@@ -58,7 +58,7 @@
 }
 
 Manager::Manager(sdbusplus::bus::bus&& bus, const char* busname,
-                 const char* root, const char* iface) :
+                 const char* root) :
     ServerObject<ManagerIface>(bus, root),
     _shutdown(false), _root(root), _bus(std::move(bus)), _manager(_bus, root)
 #ifdef CREATE_ASSOCIATIONS
diff --git a/manager.hpp b/manager.hpp
index 380f888..82a3fd4 100644
--- a/manager.hpp
+++ b/manager.hpp
@@ -60,9 +60,8 @@
      *  @param[in] busname - The DBus busname to own.
      *  @param[in] root - The DBus path on which to implement
      *      an inventory manager.
-     *  @param[in] iface - The DBus inventory interface to implement.
      */
-    Manager(sdbusplus::bus::bus&&, const char*, const char*, const char*);
+    Manager(sdbusplus::bus::bus&&, const char*, const char*);
 
     using EventInfo =
         std::tuple<std::vector<EventBasePtr>, std::vector<Action>>;
diff --git a/test/test.cpp b/test/test.cpp
index e7058be..7be9c64 100644
--- a/test/test.cpp
+++ b/test/test.cpp
@@ -471,8 +471,8 @@
 
 int main()
 {
-    phosphor::inventory::manager::Manager mgr(
-        sdbusplus::bus::new_default(), MGR_SERVICE, MGR_ROOT, MGR_INTERFACE);
+    phosphor::inventory::manager::Manager mgr(sdbusplus::bus::new_default(),
+                                              MGR_SERVICE, MGR_ROOT);
     ExampleService d;
 
     auto f1 = [](auto mgr) { mgr->run(); };
