diff --git a/mmc/item_updater_mmc.cpp b/mmc/item_updater_mmc.cpp
index 3e58612..ad91b16 100644
--- a/mmc/item_updater_mmc.cpp
+++ b/mmc/item_updater_mmc.cpp
@@ -5,6 +5,8 @@
 #include "activation_mmc.hpp"
 #include "version.hpp"
 
+#include <filesystem>
+
 namespace openpower
 {
 namespace software
@@ -51,7 +53,47 @@
 {}
 
 void ItemUpdaterMMC::reset()
-{}
+{
+    // Do not reset read-only files needed for reset or ext4 default files
+    const std::vector<std::string> exclusionList = {
+        "alternate", "hostfw-a", "hostfw-b", "lost+found", "running-ro"};
+    std::filesystem::path dirPath(std::string(MEDIA_DIR "hostfw/"));
+    // Delete all files in /media/hostfw/ except for those on exclusionList
+    for (const auto& p : std::filesystem::directory_iterator(dirPath))
+    {
+        if (std::find(exclusionList.begin(), exclusionList.end(),
+                      p.path().stem().string()) == exclusionList.end())
+        {
+            std::filesystem::remove_all(p);
+        }
+    }
+
+    // Recreate default files.
+    auto bus = sdbusplus::bus::new_default();
+    constexpr auto initService = "obmc-flash-bios-init.service";
+    auto method = bus.new_method_call(SYSTEMD_BUSNAME, SYSTEMD_PATH,
+                                      SYSTEMD_INTERFACE, "StartUnit");
+    method.append(initService, "replace");
+    bus.call_noreply(method);
+
+    constexpr auto patchService = "obmc-flash-bios-patch.service";
+    method = bus.new_method_call(SYSTEMD_BUSNAME, SYSTEMD_PATH,
+                                 SYSTEMD_INTERFACE, "StartUnit");
+    method.append(patchService, "replace");
+    bus.call_noreply(method);
+
+    constexpr auto processService = "openpower-process-host-firmware.service";
+    method = bus.new_method_call(SYSTEMD_BUSNAME, SYSTEMD_PATH,
+                                 SYSTEMD_INTERFACE, "StartUnit");
+    method.append(processService, "replace");
+    bus.call_noreply(method);
+
+    constexpr auto updateService = "openpower-update-bios-attr-table.service";
+    method = bus.new_method_call(SYSTEMD_BUSNAME, SYSTEMD_PATH,
+                                 SYSTEMD_INTERFACE, "StartUnit");
+    method.append(updateService, "replace");
+    bus.call_noreply(method);
+}
 
 bool ItemUpdaterMMC::isVersionFunctional(const std::string& versionId)
 {
