diff --git a/VIPSWeb/views.py b/VIPSWeb/views.py
index 60e00c4e30d0057df1db4b994a82263da1ec0f8d..3c8bb270f48d18c70b75b52a45da7a9894e60f57 100644
--- a/VIPSWeb/views.py
+++ b/VIPSWeb/views.py
@@ -15,7 +15,7 @@
 # You should have received a copy of the Bioforsk Open Source License
 # along with VIPSWeb.  If not, see <http://www.bioforsk.no/licenses/>.
 # 
-
+# @author: Tor-Einar Skog <tor-einar.skog@bioforsk.no>
 from django.shortcuts import render
 from django.conf import settings
 from django.utils import translation
@@ -27,7 +27,7 @@ def index(request):
     message_tags = MessageTag.get_message_tags()
     messages_by_tag = {}
     for message_tag_id in settings.FRONTPAGE_MESSAGE_TAG_IDS:
-        messages = Message.get_messages_by_tag(message_tag_id)
+        messages = Message.get_messages_by_tag(message_tag_id, translation.get_language())
         #print "MESSAGES: %s" % messages
         messages_by_tag[message_tag_id] = messages
         #for message in messages:
diff --git a/messages/models.py b/messages/models.py
index 1ad239906ac5654f243ee7eb1c7475a66ad5a889..406941d58efd4d0ac27395eba91c43327ce608c7 100644
--- a/messages/models.py
+++ b/messages/models.py
@@ -93,15 +93,15 @@ class Message:
     Currently this is a REST service
     """
     @staticmethod
-    def get_message(message_id):
+    def get_message(message_id, current_language=settings.VIPSLOGIC_LANGUAGE_CODE):
         message_json = Message.get_message_as_json(message_id)
-        return Message.get_instance_from_dict(message_json)
+        return Message.get_instance_from_dict(message_json, current_language)
     
     @staticmethod
-    def get_messages_by_tag(tag_id):
+    def get_messages_by_tag(tag_id, current_language=settings.VIPSLOGIC_LANGUAGE_CODE):
         messages = []
         for item in Message.get_messages_by_tag_as_json(tag_id):
-            message = Message.get_instance_from_dict(item)
+            message = Message.get_instance_from_dict(item, current_language)
             messages.append(message)
         return messages
     
@@ -158,7 +158,12 @@ 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
+        # Fallback: Find message in web site's default language
+        for message_locale in message_locale_set:
+            if message_locale["messageLocalePK"]["locale"] == settings.LANGUAGE_CODE:
+                return message_locale
+        # If none of this works, try to return the first locale found
+        # If no locale, return empty set
         if len(message_locale_set) > 0:
             return message_locale_set[0]
         else:
diff --git a/messages/views.py b/messages/views.py
index 5f6d37786ab1e4d5aaa690111f440aecc2910628..254c38e1d4f114eacec0fcdc3ee047d628f5d42b 100644
--- a/messages/views.py
+++ b/messages/views.py
@@ -30,6 +30,6 @@ def index(request):
 def detail(request, message_id):
     context = {
                #'message' : get_object_or_404(Message, pk=message_id)
-               'message': Message.get_message(message_id)
+               'message': Message.get_message(message_id, translation.get_language())
                }
     return render(request, 'messages/detail.html', context)
\ No newline at end of file