diff --git a/modules/translation/translation.module b/modules/translation/translation.module
index 28cf089ed2854d68f08fae3412f62a2326808f0f..58045f39694e2e3219b1e91a9bce2686320bd68a 100644
--- a/modules/translation/translation.module
+++ b/modules/translation/translation.module
@@ -355,9 +355,9 @@ function translation_remove_from_set($node) {
  *   need more properties. The array is indexed by language code.
  */
 function translation_node_get_translations($tnid) {
-  static $translations = array();
-
   if (is_numeric($tnid) && $tnid) {
+    $translations = &drupal_static(__FUNCTION__, array());
+
     if (!isset($translations[$tnid])) {
       $translations[$tnid] = array();
       $result = db_select('node', 'n')