diff --git a/chassis_state_manager.cpp b/chassis_state_manager.cpp
index 9c16ea0..9bfdb95 100644
--- a/chassis_state_manager.cpp
+++ b/chassis_state_manager.cpp
@@ -7,6 +7,7 @@
 #include "xyz/openbmc_project/State/Shutdown/Power/error.hpp"
 
 #include <fmt/format.h>
+#include <fmt/printf.h>
 
 #include <cereal/archives/json.hpp>
 #include <phosphor-logging/elog-errors.hpp>
@@ -154,9 +155,18 @@
                         "Chassis power was on before the BMC reboot and it is off now");
 
                     // Reset host sensors since system is off now
+                    // TODO: when CHASSIS_BLACKOUT_TGT will include this service
+                    // Needs to be removed when the blackout target is merged
                     startUnit(fmt::format(RESET_HOST_SENSORS_SVC_FMT, id));
 
                     setStateChangeTime();
+                    // Generate file indicating AC loss occurred
+                    std::string chassisLostPowerFileFmt =
+                        fmt::sprintf(CHASSIS_LOST_POWER_FILE, id);
+                    fs::create_directories(BASE_FILE_DIR);
+                    fs::path chassisPowerLossFile{chassisLostPowerFileFmt};
+                    std::ofstream outfile(chassisPowerLossFile);
+                    outfile.close();
 
                     // 0 indicates pinhole reset. 1 is NOT pinhole reset
                     if (phosphor::state::manager::utils::getGpioValue(
diff --git a/discover_system_state.cpp b/discover_system_state.cpp
index 1623922..837f0d1 100644
--- a/discover_system_state.cpp
+++ b/discover_system_state.cpp
@@ -6,6 +6,8 @@
 #include "xyz/openbmc_project/Common/error.hpp"
 #include "xyz/openbmc_project/Control/Power/RestorePolicy/server.hpp"
 
+#include <fmt/format.h>
+#include <fmt/printf.h>
 #include <getopt.h>
 #include <systemd/sd-bus.h>
 
@@ -14,6 +16,7 @@
 #include <sdbusplus/exception.hpp>
 #include <sdbusplus/server.hpp>
 
+#include <filesystem>
 #include <iostream>
 #include <map>
 #include <string>
@@ -120,6 +123,18 @@
         {
             // one_time is set to None so use the customer setting
             info("One time not set, check user setting of power policy");
+
+#ifdef ONLY_RUN_APR_ON_POWER_LOSS
+            std::string chassisLostPowerFileFmt =
+                fmt::sprintf(CHASSIS_LOST_POWER_FILE, hostId);
+            fs::path chassisPowerLossFile{chassisLostPowerFileFmt};
+            if (!fs::exists(chassisPowerLossFile))
+            {
+                info(
+                    "Chassis power was not on prior to BMC reboot so do not run any power policy");
+                return 0;
+            }
+#endif
             auto reply = bus.call(methodUserSetting);
             reply.read(result);
             powerPolicy = std::get<std::string>(result);
diff --git a/meson.build b/meson.build
index 05b3963..17a5a11 100644
--- a/meson.build
+++ b/meson.build
@@ -56,8 +56,17 @@
         'HOST_GPIOS_OBJPATH', get_option('host-gpios-objpath'))
 endif
 
+conf.set10(
+    'ONLY_RUN_APR_ON_POWER_LOSS', get_option('only-run-apr-on-power-loss'))
+
 # globals shared across applications
 conf.set_quoted(
+    'BASE_FILE_DIR', '/run/openbmc/')
+
+conf.set_quoted(
+    'CHASSIS_LOST_POWER_FILE', '/run/openbmc/chassis@%d-lost-power')
+
+conf.set_quoted(
     'HOST_RUNNING_FILE', '/run/openbmc/host@%d-on')
 
 conf.set_quoted(
@@ -197,6 +206,7 @@
             'utils.cpp',
             dependencies: [
                 cereal,
+                fmt,
                 libgpiod,
                 phosphorlogging,
                 sdbusplus,
diff --git a/meson_options.txt b/meson_options.txt
index b7f4927..956c9bf 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -119,3 +119,8 @@
     value : '/sys/kernel/debug/aspeed/sbc/abr_image',
     description : 'The sysfs path to the abr image value.',
 )
+
+option('only-run-apr-on-power-loss', type : 'boolean',
+    value : 'false',
+    description : 'Only run automatic restore policy due to loss of AC power.'
+)
