diff --git a/test/openpower-pels/pel_test.cpp b/test/openpower-pels/pel_test.cpp
index 6136733..0680185 100644
--- a/test/openpower-pels/pel_test.cpp
+++ b/test/openpower-pels/pel_test.cpp
@@ -204,6 +204,18 @@
     EXPECT_EQ(mtmsCount, 1);
     EXPECT_EQ(euhCount, 1);
     EXPECT_EQ(udCount, 2); // AD section and sysInfo section
+
+    {
+        // The same thing, but without the action flags specified
+        // in the registry, so the constructor should set them.
+        regEntry.actionFlags = std::nullopt;
+
+        PEL pel2{
+            regEntry, 42,   timestamp, phosphor::logging::Entry::Level::Error,
+            ad,       ffdc, dataIface};
+
+        EXPECT_EQ(pel2.userHeader().actionFlags(), 0xA800);
+    }
 }
 
 // Test that when the AdditionalData size is over 16KB that
diff --git a/test/openpower-pels/user_header_test.cpp b/test/openpower-pels/user_header_test.cpp
index 546b480..526a59e 100644
--- a/test/openpower-pels/user_header_test.cpp
+++ b/test/openpower-pels/user_header_test.cpp
@@ -128,13 +128,26 @@
         EXPECT_EQ(uh.header().componentID,
                   static_cast<uint16_t>(ComponentID::phosphorLogging));
 
-        ASSERT_EQ(uh.subsystem(), 5);
-        ASSERT_EQ(uh.severity(), 0x40);
-        ASSERT_EQ(uh.eventType(), 1);
-        ASSERT_EQ(uh.scope(), 2);
-        ASSERT_EQ(uh.problemDomain(), 0);
-        ASSERT_EQ(uh.problemVector(), 0);
-        ASSERT_EQ(uh.actionFlags(), 0xC000);
+        EXPECT_EQ(uh.subsystem(), 5);
+        EXPECT_EQ(uh.severity(), 0x40);
+        EXPECT_EQ(uh.eventType(), 1);
+        EXPECT_EQ(uh.scope(), 2);
+        EXPECT_EQ(uh.problemDomain(), 0);
+        EXPECT_EQ(uh.problemVector(), 0);
+        EXPECT_EQ(uh.actionFlags(), 0xC000);
+
+        {
+            // The same thing, but as if the action flags weren't specified
+            // in the registry so they are a nullopt.  The object should
+            // then set them to 0xFFFF.
+            EXPECT_CALL(dataIface, getSystemNames).WillOnce(ReturnRef(names));
+
+            regEntry.actionFlags = std::nullopt;
+
+            UserHeader uh(regEntry, phosphor::logging::Entry::Level::Error,
+                          dataIface);
+            EXPECT_EQ(uh.actionFlags(), 0xFFFF);
+        }
     }
 
     // Test the system type based severity lookups
