diff --git a/bmc/buildjson.cpp b/bmc/buildjson.cpp
index f817603..9de4b87 100644
--- a/bmc/buildjson.cpp
+++ b/bmc/buildjson.cpp
@@ -104,8 +104,17 @@
             if (prepareType == "systemd")
             {
                 const auto& unit = prep.at("unit");
+
+                /* the mode parameter is optional. */
+                std::string systemdMode = "replace";
+                const auto& mode = prep.find("mode");
+                if (mode != prep.end())
+                {
+                    systemdMode = prep.at("mode").get<std::string>();
+                }
+
                 pack->preparation = SystemdPreparation::CreatePreparation(
-                    sdbusplus::bus::new_default(), unit);
+                    sdbusplus::bus::new_default(), unit, systemdMode);
             }
             else
             {
diff --git a/bmc/prepare_systemd.cpp b/bmc/prepare_systemd.cpp
index b16bc99..c08fdd1 100644
--- a/bmc/prepare_systemd.cpp
+++ b/bmc/prepare_systemd.cpp
@@ -25,9 +25,10 @@
 
 std::unique_ptr<TriggerableActionInterface>
     SystemdPreparation::CreatePreparation(sdbusplus::bus::bus&& bus,
-                                          const std::string& service)
+                                          const std::string& service,
+                                          const std::string& mode)
 {
-    return std::make_unique<SystemdPreparation>(std::move(bus), service);
+    return std::make_unique<SystemdPreparation>(std::move(bus), service, mode);
 }
 
 bool SystemdPreparation::trigger()
@@ -39,7 +40,7 @@
     auto method = bus.new_method_call(systemdService, systemdRoot,
                                       systemdInterface, "StartUnit");
     method.append(triggerService);
-    method.append("replace");
+    method.append(mode);
 
     try
     {
diff --git a/bmc/prepare_systemd.hpp b/bmc/prepare_systemd.hpp
index af8e065..b8fe605 100644
--- a/bmc/prepare_systemd.hpp
+++ b/bmc/prepare_systemd.hpp
@@ -13,11 +13,13 @@
 {
   public:
     static std::unique_ptr<TriggerableActionInterface>
-        CreatePreparation(sdbusplus::bus::bus&& bus,
-                          const std::string& service);
+        CreatePreparation(sdbusplus::bus::bus&& bus, const std::string& service,
+                          const std::string& mode);
 
-    SystemdPreparation(sdbusplus::bus::bus&& bus, const std::string& service) :
-        bus(std::move(bus)), triggerService(service)
+    SystemdPreparation(sdbusplus::bus::bus&& bus, const std::string& service,
+                       const std::string& mode) :
+        bus(std::move(bus)),
+        triggerService(service), mode(mode)
     {
     }
 
@@ -34,6 +36,7 @@
   private:
     sdbusplus::bus::bus bus;
     const std::string triggerService;
+    const std::string mode;
     ActionStatus state = ActionStatus::unknown;
 };
 
