diff --git a/extensions/openpower-pels/README.md b/extensions/openpower-pels/README.md
index 3fdb43a..1aba263 100644
--- a/extensions/openpower-pels/README.md
+++ b/extensions/openpower-pels/README.md
@@ -34,6 +34,17 @@
 The code will assign its own error log ID to this PEL, and also update the
 commit timestamp field to the current time.
 
+#### POWER_THERMAL_CRITICAL_FAULT
+
+This keyword is used to set the power fault bit in PEL. The syntax is:
+```
+POWER_THERMAL_CRITICAL_FAULT=<FLAG>
+e.g.
+POWER_THERMAL_CRITICAL_FAULT=TRUE
+```
+
+Note that TRUE is the only value supported.
+
 #### ESEL
 
 This keyword's data contains a full PEL in string format.  This is how hostboot
diff --git a/extensions/openpower-pels/src.cpp b/extensions/openpower-pels/src.cpp
index 9257036..398cfaa 100644
--- a/extensions/openpower-pels/src.cpp
+++ b/extensions/openpower-pels/src.cpp
@@ -291,7 +291,10 @@
     _version = srcVersion;
 
     _flags = 0;
-    if (regEntry.src.powerFault.value_or(false))
+
+    auto item = additionalData.getValue("POWER_THERMAL_CRITICAL_FAULT");
+    if ((regEntry.src.powerFault.value_or(false)) ||
+        (item.value_or("") == "TRUE"))
     {
         _flags |= powerFaultEvent;
     }
diff --git a/test/openpower-pels/src_test.cpp b/test/openpower-pels/src_test.cpp
index 301faac..32facd4 100644
--- a/test/openpower-pels/src_test.cpp
+++ b/test/openpower-pels/src_test.cpp
@@ -252,6 +252,29 @@
     EXPECT_FALSE(newSRC.callouts());
 }
 
+// Create an SRC to test POWER_THERMAL_CRITICAL_FAULT set to TRUE
+// sets the power fault bit in SRC
+TEST_F(SRCTest, PowerFaultTest)
+{
+    message::Entry entry;
+    entry.src.type = 0xBD;
+    entry.src.reasonCode = 0xABCD;
+    entry.subsystem = 0x42;
+    entry.src.powerFault = false;
+
+    // Values for the SRC words pointed to above
+    std::vector<std::string> adData{"POWER_THERMAL_CRITICAL_FAULT=TRUE",
+                                    "TEST2=12345678", "TEST3=0XDEF", "TEST4=Z"};
+    AdditionalData ad{adData};
+    NiceMock<MockDataInterface> dataIface;
+
+    SRC src{entry, ad, dataIface};
+
+    EXPECT_TRUE(src.valid());
+    EXPECT_TRUE(src.isPowerFaultEvent());
+    EXPECT_EQ(src.size(), baseSRCSize);
+}
+
 // Test when the CCIN string isn't a 4 character number
 TEST_F(SRCTest, BadCCINTest)
 {
