diff --git a/extensions/openpower-pels/registry.cpp b/extensions/openpower-pels/registry.cpp
index 523a15b..c8c37f9 100644
--- a/extensions/openpower-pels/registry.cpp
+++ b/extensions/openpower-pels/registry.cpp
@@ -680,12 +680,7 @@
             entry.doc.description = doc["Description"];
             if (doc.contains("MessageArgSources"))
             {
-                entry.doc.messageArgSources =
-                    doc["MessageArgSources"].get<std::vector<std::string>>();
-            }
-            if (doc.contains("Notes") && !doc["Notes"].empty())
-            {
-                entry.doc.notes = doc["Notes"].get<std::vector<std::string>>();
+                entry.doc.messageArgSources = doc["MessageArgSources"];
             }
 
             // If there are callouts defined, save the JSON for later
diff --git a/extensions/openpower-pels/registry.hpp b/extensions/openpower-pels/registry.hpp
index 0314081..c3b3bc0 100644
--- a/extensions/openpower-pels/registry.hpp
+++ b/extensions/openpower-pels/registry.hpp
@@ -59,11 +59,6 @@
      *        in the Message field.
      */
     std::optional<std::vector<std::string>> messageArgSources;
-
-    /**
-     * @brief An optional vector of string that forms the Notes field.
-     */
-    std::optional<std::vector<std::string>> notes;
 };
 
 /**
diff --git a/extensions/openpower-pels/src.cpp b/extensions/openpower-pels/src.cpp
index 7e764bb..19d140d 100644
--- a/extensions/openpower-pels/src.cpp
+++ b/extensions/openpower-pels/src.cpp
@@ -503,10 +503,6 @@
                     jsonInsert(errorOut, "Message", errorMsg.value(), 2);
                 }
             }
-            if (entry->doc.notes)
-            {
-                jsonInsertArray(errorOut, "Notes", entry->doc.notes.value(), 2);
-            }
             if (entry->src.hexwordADFields)
             {
                 std::map<size_t, std::tuple<std::string, std::string>>
