--- locale.module.old   2010-12-06 07:50:56.000000000 +0100
+++ locale.module       2011-05-13 12:50:57.000000000 +0200
@@ -384,6 +384,10 @@
         // also a string-history information for later pruning of the tables.
         db_query("UPDATE {locales_source} SET version = '%s' WHERE lid = %d", VERSION, $translation->lid);
         cache_clear_all('locale:', 'cache', TRUE);
+      } elseif (lock_acquire('locale_cache_' . $langcode)) {
+        // cache this, so it doesn't have to be queried over and over again
+        cache_set('locale:'. $langcode, $locale_t[$langcode]);
+        lock_release('locale_cache_' . $langcode);
       }
     }
     else {

