diff --git a/apachesolr_search.module b/apachesolr_search.module
index f8d4b00..d7b4fb2 100644
--- a/apachesolr_search.module
+++ b/apachesolr_search.module
@@ -453,56 +453,57 @@ function apachesolr_search_block_view($delta = '') {
 
         // Check if we have to return a cached version of this block
         if ($query) {
+          global $language;
           // Get the URI without any query parameter.
           $uri = parse_url(request_uri());
           // Get the current sort as an array.
           $solrsort = $query->getSolrsort();
-          $cache_id = $uri['path'] . ':' . implode(':', $solrsort);
+          $cache_id = $language->language . ':' . $uri['path'] . ':' . implode(':', $solrsort);
           // Do we have something in cache ?
           if ($cache = cache_get($cache_id, 'cache_block')) {
             $block = $cache->data;
             return $block;
           }
-        }
 
-        $sorts = $query->getAvailableSorts();
-        $sort_links = array();
-        $path = $query->getPath();
-        $new_query = clone $query;
-        $toggle = array('asc' => 'desc', 'desc' => 'asc');
-        foreach ($sorts as $name => $sort) {
-          $active = $solrsort['#name'] == $name;
-          if ($name == 'score') {
-            $direction = '';
-            $new_direction = 'desc'; // We only sort by descending score.
-          }
-          elseif ($active) {
-            $direction = $toggle[$solrsort['#direction']];
-            $new_direction = $toggle[$solrsort['#direction']];
+          $sorts = $query->getAvailableSorts();
+          $sort_links = array();
+          $path = $query->getPath();
+          $new_query = clone $query;
+          $toggle = array('asc' => 'desc', 'desc' => 'asc');
+          foreach ($sorts as $name => $sort) {
+            $active = $solrsort['#name'] == $name;
+            if ($name == 'score') {
+              $direction = '';
+              $new_direction = 'desc'; // We only sort by descending score.
+            }
+            elseif ($active) {
+              $direction = $toggle[$solrsort['#direction']];
+              $new_direction = $toggle[$solrsort['#direction']];
+            }
+            else {
+              $direction = '';
+              $new_direction = $sort['default'];
+            }
+            $new_query->setSolrsort($name, $new_direction);
+            $sort_links[$name] = array(
+              'text' => $sort['title'],
+              'path' => $path,
+              'options' => array('query' => $new_query->getSolrsortUrlQuery()),
+              'active' => $active,
+              'direction' => $direction,
+            );
           }
-          else {
-            $direction = '';
-            $new_direction = $sort['default'];
+          foreach ($sort_links as $name => $link) {
+            $themed_links[$name] = theme('apachesolr_sort_link', $link);
           }
-          $new_query->setSolrsort($name, $new_direction);
-          $sort_links[$name] = array(
-            'text' => $sort['title'],
-            'path' => $path,
-            'options' => array('query' => $new_query->getSolrsortUrlQuery()),
-            'active' => $active,
-            'direction' => $direction,
+          $block = array(
+            'subject' => t('Sort by'),
+            'content' => theme('apachesolr_sort_list', array('items' => $themed_links))
           );
+          // Cache the block
+          cache_set($cache_id, $block, 'cache_block');
+          return $block;
         }
-        foreach ($sort_links as $name => $link) {
-          $themed_links[$name] = theme('apachesolr_sort_link', $link);
-        }
-        $block = array(
-        'subject' => t('Sort by'),
-          'content' => theme('apachesolr_sort_list', array('items' => $themed_links))
-        );
-        // Cache the block
-        cache_set($cache_id, $block, 'cache_block');
-        return $block;
       }
     }
   }
