diff --git a/mmc/item_updater_mmc.cpp b/mmc/item_updater_mmc.cpp
index 04f237d..1a5b142 100644
--- a/mmc/item_updater_mmc.cpp
+++ b/mmc/item_updater_mmc.cpp
@@ -3,6 +3,7 @@
 #include "item_updater_mmc.hpp"
 
 #include "activation_mmc.hpp"
+#include "utils.hpp"
 #include "version.hpp"
 
 #include <filesystem>
@@ -70,6 +71,9 @@
     }
 
     // Remove files related to the Hardware Management Console / BMC web app
+
+    utils::clearHMCManaged(bus);
+
     std::filesystem::path consolePath("/var/lib/bmcweb/ibm-management-console");
     if (std::filesystem::exists(consolePath))
     {
@@ -90,7 +94,6 @@
                                     "pldm-reset-phyp-nvram.service",
                                     "pldm-reset-phyp-nvram-cksum.service"};
 
-    auto bus = sdbusplus::bus::new_default();
     for (const auto& service : services)
     {
         auto method = bus.new_method_call(SYSTEMD_BUSNAME, SYSTEMD_PATH,
diff --git a/utils.cpp b/utils.cpp
index 85c650e..a994b33 100644
--- a/utils.cpp
+++ b/utils.cpp
@@ -112,4 +112,36 @@
     }
 }
 
+void clearHMCManaged(sdbusplus::bus::bus& bus)
+{
+    constexpr auto biosConfigPath = "/xyz/openbmc_project/bios_config/manager";
+    constexpr auto biosConfigIntf = "xyz.openbmc_project.BIOSConfig.Manager";
+    constexpr auto dbusAttrType =
+        "xyz.openbmc_project.BIOSConfig.Manager.AttributeType.Enumeration";
+    constexpr auto dbusAttrName = "pvm_hmc_managed";
+
+    using PendingAttributesType = std::vector<std::pair<
+        std::string, std::tuple<std::string, std::variant<std::string>>>>;
+    PendingAttributesType pendingAttributes;
+    pendingAttributes.emplace_back(std::make_pair(
+        dbusAttrName, std::make_tuple(dbusAttrType, "Disabled")));
+
+    try
+    {
+        auto service = getService(bus, biosConfigPath, biosConfigIntf);
+        auto method = bus.new_method_call(service.c_str(), biosConfigPath,
+                                          SYSTEMD_PROPERTY_INTERFACE, "Set");
+        method.append(biosConfigIntf, "PendingAttributes",
+                      std::variant<PendingAttributesType>(pendingAttributes));
+        bus.call(method);
+    }
+    catch (const sdbusplus::exception::exception& e)
+    {
+        log<level::ERR>("Error setting the bios attribute",
+                        entry("ERROR=%s", e.what()),
+                        entry("ATTRIBUTE=%s", dbusAttrName));
+        return;
+    }
+}
+
 } // namespace utils
diff --git a/utils.hpp b/utils.hpp
index acb44ca..8ff2370 100644
--- a/utils.hpp
+++ b/utils.hpp
@@ -45,6 +45,13 @@
  */
 void hiomapdResume(sdbusplus::bus::bus& bus);
 
+/** @brief Set the Hardware Management Console Managed bios attribute to
+ *         Disabled to clear the indication that the system is HMC-managed.
+ *
+ * @param[in] bus - The D-Bus bus object.
+ */
+void clearHMCManaged(sdbusplus::bus::bus& bus);
+
 } // namespace utils
 
 #endif // OPENSSL_VERSION_NUMBER < 0x10100000L
