diff --git a/modules/entity/entity.info b/modules/entity/entity.info
index 31eb720d0a7c33940b7d0d9c90026fbcaaa11c98..b51e57d4aefd77ddb3d9d25cf42a8148d2f367a5 100644
--- a/modules/entity/entity.info
+++ b/modules/entity/entity.info
@@ -6,3 +6,4 @@ core = 8.x
 required = TRUE
 files[] = entity.query.inc
 files[] = entity.controller.inc
+files[] = tests/entity_query.test
diff --git a/modules/entity/tests/entity_query.test b/modules/entity/tests/entity_query.test
index e540a90d99f89dc3d29943eebbbfb8259058ec54..49cf7b8c0de6f8aee1c612b4d531d6b07f047102 100644
--- a/modules/entity/tests/entity_query.test
+++ b/modules/entity/tests/entity_query.test
@@ -1048,6 +1048,46 @@ class EntityFieldQueryTestCase extends DrupalWebTestCase {
     $this->assertTrue($pass, t("Can't query the universe."));
   }
 
+  /**
+   * Tests querying translatable fields.
+   */
+  function testEntityFieldQueryTranslatable() {
+
+    // Make a test field translatable AND cardinality one.
+    $this->fields[0]['translatable'] = TRUE;
+    $this->fields[0]['cardinality'] = 1;
+    field_update_field($this->fields[0]);
+    field_test_entity_info_translatable('test_entity', TRUE);
+    drupal_static_reset('field_available_languages');
+
+    // Create more items with different languages.
+    $entity = new stdClass();
+    $entity->ftid = 1;
+    $entity->ftvid = 1;
+    $entity->fttype = 'test_bundle';
+
+    // Set fields in two languages with one field value.
+    foreach (array(LANGUAGE_NONE, 'en') as $langcode) {
+      $entity->{$this->field_names[0]}[$langcode][0]['value'] = 1234;
+    }
+
+    field_attach_update('test_entity', $entity);
+
+    // Look up number of results when querying a single entity with multilingual
+    // field values.
+    $query = new EntityFieldQuery();
+    $query_count = $query
+      ->entityCondition('entity_type', 'test_entity')
+      ->entityCondition('bundle', 'test_bundle')
+      ->entityCondition('entity_id', '1')
+      ->fieldCondition($this->fields[0])
+      ->count()
+      ->execute();
+
+    $this->assertEqual($query_count, 1, t("Count on translatable cardinality one field is correct."));
+  }
+
+
   /**
    * Tests field meta conditions.
    */
diff --git a/modules/field/modules/field_sql_storage/field_sql_storage.module b/modules/field/modules/field_sql_storage/field_sql_storage.module
index 89aeca66f2fc73f72c39d33b4dd38f9a8241fd8f..a906e86c2a5c8b65ffbb82bce699499745c0bd4d 100644
--- a/modules/field/modules/field_sql_storage/field_sql_storage.module
+++ b/modules/field/modules/field_sql_storage/field_sql_storage.module
@@ -493,7 +493,7 @@ function field_sql_storage_field_storage_query(EntityFieldQuery $query) {
       $select_query->fields($table_alias, array('entity_type', 'entity_id', 'revision_id', 'bundle'));
       $field_base_table = $table_alias;
     }
-    if ($field['cardinality'] != 1) {
+    if ($field['cardinality'] != 1 || $field['translatable']) {
       $select_query->distinct();
     }
   }