diff --git a/entityreference/plugins/selection/EntityReference_SelectionHandler_Generic.class.php b/entityreference/plugins/selection/EntityReference_SelectionHandler_Generic.class.php
--- a/entityreference/plugins/selection/EntityReference_SelectionHandler_Generic.class.php
+++ b/entityreference/plugins/selection/EntityReference_SelectionHandler_Generic.class.php
@@ -122,6 +122,19 @@
       ),
     );
 
+    // add multilingual support if i18n is installed
+    if ( module_exists('i18n') ) {
+    	$form['filter']['language'] = array(
+    			'#type' => 'select',
+    			'#title' => t('Language handling'),
+    			'#options' => array(
+    					0 => t('Select all nodes'),
+    					1 => t('Select only nodes in parent\'s language'),
+    			),
+    			'#default_value' => isset($field['settings']['handler_settings']['filter']['language']) ? $field['settings']['handler_settings']['filter']['language'] : 0,
+    	);
+    }
+
     return $form;
   }
 
@@ -185,11 +198,19 @@
     if (!empty($this->field['settings']['handler_settings']['target_bundles'])) {
       $query->entityCondition('bundle', $this->field['settings']['handler_settings']['target_bundles'], 'IN');
     }
-    if (isset($match)) {
-      $entity_info = entity_get_info($this->field['settings']['target_type']);
-      if (isset($entity_info['entity keys']['label'])) {
+    $entity_info = entity_get_info($this->field['settings']['target_type']);
+    if (module_exists('i18n') && $this->field['settings']['handler_settings']['filter']['language'] == 1 && $entity_info['translation']['locale'] == TRUE) {
+      $node = menu_get_object();
+      if ( isset($node->language) && !is_null($node->language)) {
+      	$query->propertyCondition('language', $node->language);
+      }
+      else {
+      	global $language;
+      	$query->propertyCondition('language', $language->language);
+      }
+    }
+    if (isset($match) && isset($entity_info['entity keys']['label'])) {
         $query->propertyCondition($entity_info['entity keys']['label'], $match, $match_operator);
-      }
     }
 
     // Add a generic entity access tag to the query.