diff --git a/redfish-core/include/error_messages.hpp b/redfish-core/include/error_messages.hpp
index e38a6f4..2b4a156 100644
--- a/redfish-core/include/error_messages.hpp
+++ b/redfish-core/include/error_messages.hpp
@@ -27,8 +27,7 @@
 
 namespace messages
 {
-
-constexpr const char* messageVersionPrefix = "Base.1.11.0.";
+constexpr const char* messageVersionPrefix = "Base.1.19.0.";
 constexpr const char* messageAnnotation = "@Message.ExtendedInfo";
 
 /**
diff --git a/scripts/parse_registries.py b/scripts/parse_registries.py
index ceb781f..0311adb 100755
--- a/scripts/parse_registries.py
+++ b/scripts/parse_registries.py
@@ -387,7 +387,7 @@
     return out
 
 
-def create_error_registry(entry):
+def create_error_registry(entry, registry_version):
     file, json_dict, namespace, url = entry
 
     error_messages_hpp = os.path.join(
@@ -421,18 +421,22 @@
 
 namespace messages
 {
-
-    constexpr const char* messageVersionPrefix = "Base.1.11.0.";
-    constexpr const char* messageAnnotation = "@Message.ExtendedInfo";
-
-    /**
-    * @brief Moves all error messages from the |source| JSON to |target|
-    */
-    void moveErrorsToErrorJson(nlohmann::json& target, nlohmann::json& source);
-
 """
         )
+        out.write(
+            f'constexpr const char* messageVersionPrefix = "Base.{registry_version}.";'
+        )
+        out.write(
+            """
+        constexpr const char* messageAnnotation = "@Message.ExtendedInfo";
 
+        /**
+        * @brief Moves all error messages from the |source| JSON to |target|
+        */
+        void moveErrorsToErrorJson(nlohmann::json& target, nlohmann::json& source);
+
+    """
+        )
         for entry_id, entry in messages.items():
             message = entry["Message"]
             for index in range(1, 10):
@@ -746,7 +750,7 @@
 
     update_registries(files)
 
-    create_error_registry(files[0])
+    create_error_registry(files[0], dmtf_registries[0][1])
 
     if "privilege" in registries:
         make_privilege_registry()
