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)
 {
diff --git a/mmc/obmc-flash-bios b/mmc/obmc-flash-bios
index 61ac817..8bd8ca7 100644
--- a/mmc/obmc-flash-bios
+++ b/mmc/obmc-flash-bios
@@ -23,7 +23,9 @@
   # Mount the image that corresponds to the boot label as read-only to be used
   # to populate the running directory.
   boot_label="$(fw_printenv -n bootside)"
-  mount ${base_dir}/hostfw-"${boot_label}" ${ro_dir} -o ro
+  if ! grep -q "${ro_dir}" /proc/mounts; then
+    mount ${base_dir}/hostfw-"${boot_label}" ${ro_dir} -o ro
+  fi
 
   # Determine if the running dir contains the running version
   running_label=""
@@ -71,7 +73,9 @@
   if [ ! -d "${alternate_dir}" ]; then
     mkdir -p ${alternate_dir}
   fi
-  mount ${base_dir}/hostfw-${alternate_label} ${alternate_dir} -o ro
+  if ! grep -q "${alternate_dir}" /proc/mounts; then
+    mount ${base_dir}/hostfw-${alternate_label} ${alternate_dir} -o ro
+  fi
 }
 
 mmc_patch() {
@@ -108,9 +112,15 @@
     mkdir -p "${hostfw_symlink_base}"
   fi
 
-  ln -s "${running_patch_dir}" "${symlink_base}/pnor"
-  ln -s "${running_patch_dir}" "${hostfw_symlink_base}/running"
-  ln -s "${alternate_patch_dir}" "${hostfw_symlink_base}/alternate"
+  if [ "$(readlink -f "${symlink_base}/pnor")" != "${running_patch_dir}" ]; then
+    ln -s "${running_patch_dir}" "${symlink_base}/pnor"
+  fi
+  if [ "$(readlink -f "${hostfw_symlink_base}/running")" != "${running_patch_dir}" ]; then
+    ln -s "${running_patch_dir}" "${hostfw_symlink_base}/running"
+  fi
+  if [ "$(readlink -f "${hostfw_symlink_base}/alternate")" != "${alternate_patch_dir}" ]; then
+    ln -s "${alternate_patch_dir}" "${hostfw_symlink_base}/alternate"
+  fi
 }
 
 case "$1" in
diff --git a/mmc/openpower-process-host-firmware.service b/mmc/openpower-process-host-firmware.service
index a9e419f..02ed9f3 100644
--- a/mmc/openpower-process-host-firmware.service
+++ b/mmc/openpower-process-host-firmware.service
@@ -5,7 +5,7 @@
 
 [Service]
 Type=oneshot
-RemainAfterExit=yes
+RemainAfterExit=no
 ExecStart=/usr/bin/openpower-update-manager process-host-firmware
 
 [Install]
diff --git a/mmc/openpower-update-bios-attr-table.service b/mmc/openpower-update-bios-attr-table.service
index 4509389..66c0b22 100644
--- a/mmc/openpower-update-bios-attr-table.service
+++ b/mmc/openpower-update-bios-attr-table.service
@@ -1,10 +1,11 @@
 [Unit]
 Description=Update BIOS attr table with host firmware well-known names
 After=org.open_power.Software.Host.Updater.service
+After=obmc-flash-bios-init.service
 
 [Service]
 Type=oneshot
-RemainAfterExit=yes
+RemainAfterExit=no
 ExecStart=/usr/bin/openpower-update-manager update-bios-attr-table
 
 [Install]
