diff --git a/messages/models.py b/messages/models.py
index 982a94b0e0ed87805642138c4fceb1b0b52bc881..2f325fe7ce7c99bf55f8bebc7ba4e7e1692b50b9 100644
--- a/messages/models.py
+++ b/messages/models.py
@@ -125,9 +125,9 @@ class Message:
         return Message(
                        the_dict["messageId"],
                        the_dict["organizationId"],
-                       message_locale["heading"],
-                       message_locale["leadParagraph"],
-                       message_locale["body"],
+                       message_locale.get("heading","MISSING HEADING FOR LOCALE '%s'" % settings.VIPSLOGIC_LANGUAGE_CODE),
+                       message_locale.get("leadParagraph","MISSING LEAD PARAGRAPH FOR LOCALE '%s'" % settings.VIPSLOGIC_LANGUAGE_CODE),
+                       message_locale.get("body","MISSING BODY TEXT FOR LOCALE '%s'" % settings.VIPSLOGIC_LANGUAGE_CODE),
                        the_dict["datePub"],
                        the_dict["dateValidTo"],
                        message_illustration.get("file_name", None),
@@ -139,6 +139,11 @@ class Message:
         for message_locale in message_locale_set:
             if message_locale["messageLocalePK"]["locale"] == language:
                 return message_locale
+        # Fallback: Return the first locale in the set
+        if len(message_locale_set) > 0:
+            return message_locale_set[0]
+        else:
+            return {}
     
     @staticmethod
     def get_illustration(message_illustration_set, language):