diff --git a/apphandler.cpp b/apphandler.cpp
index 648a390..42e9e4b 100644
--- a/apphandler.cpp
+++ b/apphandler.cpp
@@ -191,6 +191,20 @@
                BMC::BMCState::Ready;
 }
 
+bool getCurrentBmcStateWithFallback(const bool fallbackAvailability)
+{
+    try
+    {
+        return getCurrentBmcState();
+    }
+    catch (...)
+    {
+        // Nothing provided the BMC interface, therefore return whatever was
+        // configured as the default.
+        return fallbackAvailability;
+    }
+}
+
 namespace acpi_state
 {
 using namespace sdbusplus::xyz::openbmc_project::Control::Power::server;
@@ -581,6 +595,7 @@
         uint32_t aux;
     } devId;
     static bool dev_id_initialized = false;
+    static bool defaultActivationSetting = true;
     const char* filename = "/usr/share/ipmi-providers/dev_id.json";
     constexpr auto ipmiDevIdStateShift = 7;
     constexpr auto ipmiDevIdFw1Mask = ~(1 << ipmiDevIdStateShift);
@@ -628,6 +643,9 @@
                 devId.prodId = data.value("prod_id", 0);
                 devId.aux = data.value("aux", 0);
 
+                // Set the availablitity of the BMC.
+                defaultActivationSetting = data.value("availability", true);
+
                 // Don't read the file every time if successful
                 dev_id_initialized = true;
             }
@@ -646,7 +664,7 @@
 
     // Set availability to the actual current BMC state
     devId.fw[0] &= ipmiDevIdFw1Mask;
-    if (!getCurrentBmcState())
+    if (!getCurrentBmcStateWithFallback(defaultActivationSetting))
     {
         devId.fw[0] |= (1 << ipmiDevIdStateShift);
     }
