diff --git a/bmc_version.hpp b/bmc_version.hpp
index 9bbfbd0..6ac785b 100644
--- a/bmc_version.hpp
+++ b/bmc_version.hpp
@@ -2,7 +2,6 @@
 
 #include <sdbusplus/bus.hpp>
 #include "xyz/openbmc_project/Software/Version/server.hpp"
-#include "xyz/openbmc_project/Software/Activation/server.hpp"
 
 namespace phosphor
 {
@@ -12,20 +11,18 @@
 {
 
 using BMCVersionInherit = sdbusplus::server::object::object<
-    sdbusplus::xyz::openbmc_project::Software::server::Version,
-    sdbusplus::xyz::openbmc_project::Software::server::Activation>;
-    // TODO: Move activation interface to Item Updater.
+    sdbusplus::xyz::openbmc_project::Software::server::Version>;
 
 /** @class BMCVersion
- *  @brief OpenBMC version and activation software management implementation
+ *  @brief OpenBMC version software management implementation
  *         for the active BMC software image.
  *  @details A concrete implementation for xyz.openbmc_project.Software.Version
- *           and xyz.openbmc_project.Software.Activation DBus APIs.
+ *           DBus API.
  */
 class BMCVersion : public BMCVersionInherit
 {
     public:
-        /** @brief Constructs BMC Version and Activation Software Manager for
+        /** @brief Constructs BMC Version Software Manager for
          *         the active BMC software image.
          *
          * @note This constructor passes 'true' to the base class in order to
@@ -43,8 +40,6 @@
             // Set properties.
             purpose(VersionPurpose::BMC);
             version(getVersion());
-            activation(Activations::Active);
-            // requestedActivation default is "None", so no need to set.
 
             // Emit deferred signal.
             emit_object_added();
