--- utils/translation/trans_real.py.old	2013-02-07 09:47:41.928570462 +0100
+++ utils/translation/trans_real.py	2013-02-07 09:50:50.913507582 +0100
@@ -427,6 +427,14 @@
                     _accepted[normalized] = lang
                     return lang
 
+    lang_code = settings.LANGUAGE_CODE
+
+    if lang_code and lang_code not in supported:
+        lang_code = lang_code.split('-')[0] # e.g. if fr-ca is not supported fallback to fr
+
+    if lang_code and lang_code in supported and check_for_language(lang_code):
+        return lang_code
+
     return settings.LANGUAGE_CODE
 
 dot_re = re.compile(r'\S')
