--- relevant_content.module.orig        2010-11-18 01:58:22.000000000 +0800
+++ relevant_content.module     2011-05-11 15:27:18.000000000 +0800
@@ -374,7 +374,18 @@ function relevant_content_block($op = 'l
         $exclude[] = arg(1);
       }

-      if ($nodes = relevant_content_get_nodes($settings[$delta]['types'], $terms, $exclude, $settings[$delta]['limit'])) {
+      //Create a node language list. This will restrict relevant nodes to node's language and language neutral only.
+      //Empty string (''), means Language Neutral, will include language neutral relevant nodes
+      $language = array();
+      if (arg(0) == 'node' && is_numeric(arg(1))) {
+        $node_obj = node_load(arg(1));
+        $language[] = ''; // language neutral
+        if ($node_obj->language) {
+          $language[] = $node_obj->language; // node's language
+        }
+      }
+
+      if ($nodes = relevant_content_get_nodes($settings[$delta]['types'], $terms, $exclude, $settings[$delta]['limit'], $language)) {
         $header = isset($settings[$delta]['header_text']) ? $settings[$delta]['header_text'] : FALSE;
         return array(
           'subject' => t('Relevant Content'),
@@ -559,7 +570,7 @@ SELECT
   COUNT(*) AS cnt
 FROM {node} n
 LEFT JOIN {term_node} tn ON tn.nid = n.nid AND {$term_sql}
-WHERE {$types_sql} AND n.status = 1 AND tn.tid IS NOT NULL {$exclude_sql}
+WHERE {$types_sql} AND n.status = 1 AND tn.tid IS NOT NULL {$exclude_sql} {$language_sql}
 GROUP BY n.nid
 ORDER BY cnt DESC, n.created DESC, n.nid DESC
 LIMIT %d
