diff --git a/extensions/openpower-pels/README.md b/extensions/openpower-pels/README.md
index ce46a9f..c11185a 100644
--- a/extensions/openpower-pels/README.md
+++ b/extensions/openpower-pels/README.md
@@ -397,8 +397,7 @@
 
 The `Action Flags` and `Event Type` PEL fields are optional in the message
 registry, and if not present the code will set them based on certain rules
-layed out in the PEL spec.  In fact, even if they were specified, the checks
-are still done to ensure consistency across all the logs.
+layed out in the PEL spec.
 
 These rules are:
 1. Always set the `Report` flag, unless the `Do Not Report` flag is already on.
diff --git a/extensions/openpower-pels/pel.cpp b/extensions/openpower-pels/pel.cpp
index 2113c0f..64b0f59 100644
--- a/extensions/openpower-pels/pel.cpp
+++ b/extensions/openpower-pels/pel.cpp
@@ -275,11 +275,17 @@
 
 void PEL::checkRulesAndFix()
 {
-    auto [actionFlags, eventType] =
-        pel_rules::check(_uh->actionFlags(), _uh->eventType(), _uh->severity());
+    // Only fix if the action flags are at their default value which
+    // means they weren't specified in the registry.  Otherwise
+    // assume the user knows what they are doing.
+    if (_uh->actionFlags() == actionFlagsDefault)
+    {
+        auto [actionFlags, eventType] =
+            pel_rules::check(0, _uh->eventType(), _uh->severity());
 
-    _uh->setActionFlags(actionFlags);
-    _uh->setEventType(eventType);
+        _uh->setActionFlags(actionFlags);
+        _uh->setEventType(eventType);
+    }
 }
 
 void PEL::printSectionInJSON(const Section& section, std::string& buf,
diff --git a/extensions/openpower-pels/user_header.cpp b/extensions/openpower-pels/user_header.cpp
index 0e53acf..a687c55 100644
--- a/extensions/openpower-pels/user_header.cpp
+++ b/extensions/openpower-pels/user_header.cpp
@@ -116,8 +116,9 @@
     _problemDomain = 0;
     _problemVector = 0;
 
-    // These will be cleaned up later in pel_rules::check()
-    _actionFlags = entry.actionFlags.value_or(0);
+    // These will be set in pel_rules::check() if they're still
+    // at the default value.
+    _actionFlags = entry.actionFlags.value_or(actionFlagsDefault);
 
     _states = 0;
 
diff --git a/extensions/openpower-pels/user_header.hpp b/extensions/openpower-pels/user_header.hpp
index 50c5824..07b74ae 100644
--- a/extensions/openpower-pels/user_header.hpp
+++ b/extensions/openpower-pels/user_header.hpp
@@ -13,6 +13,7 @@
 {
 
 static constexpr uint8_t userHeaderVersion = 0x01;
+static constexpr uint16_t actionFlagsDefault = 0xFFFF;
 
 /**
  * @class UserHeader
