diff --git a/core/modules/entity/lib/Drupal/entity/EntityFieldQuery.php b/core/modules/entity/lib/Drupal/entity/EntityFieldQuery.php
index e7ac424..752d071 100644
--- a/core/modules/entity/lib/Drupal/entity/EntityFieldQuery.php
+++ b/core/modules/entity/lib/Drupal/entity/EntityFieldQuery.php
@@ -434,14 +434,13 @@ class EntityFieldQuery {
    * @return Drupal\entity\EntityFieldQuery
    *   The called object.
    */
-  public function propertyCondition($column, $value, $operator = NULL, $langcode_group = NULL) {
-    $group = !empty($langcode_group) ? $langcode_group : 0;
-    $this->properties[$group][$column] = $column;
+  public function propertyCondition($column, $value, $operator = NULL, $langcode_group = 0) {
+    $this->properties[$langcode_group][$column] = $column;
     $this->propertyConditions[] = array(
       'column' => $column,
       'value' => $value,
       'operator' => $operator,
-      'langcode_group' => $group,
+      'langcode_group' => $langcode_group,
     );
     return $this;
   }
@@ -465,7 +464,21 @@ class EntityFieldQuery {
    * @see Drupal\entity\EntityFieldQuery::addFieldCondition()
    * @see Drupal\entity\EntityFieldQuery::deleted()
    */
-  public function propertyLanguageCondition($langcode = NULL, $operator = NULL, $langcode_group = NULL) {
+  public function propertyLanguageCondition($langcode = NULL, $operator = NULL, $langcode_group = 0) {
+    // We have a separate method here to ensure there is a distinction at API
+    // level between properties and metadata, even if from the implementation
+    // perspective both conditions are implemented the same way. However this
+    // might not be the case in other storages.
+    // @todo Actually we could also implement the same functionality and keep
+    // this distinction by using language codes as group identifiers:
+    //
+    // $query->propertyCondition('title', 'english_title', NULL, 'en');
+    // $query->propertyCondition('uid', 1, NULL, 'en');
+    // $query->propertyCondition('title', 'german_title', NULL, 'de');
+    //
+    // We probably want to move to this approach when refactoring EFQ to work
+    // with storage-independent entities. For now we are keeping the current
+    // approach for consistency with field meta conditions.
     return $this->propertyCondition('langcode', $langcode, $operator, $langcode_group);
   }
 
@@ -1114,7 +1127,7 @@ class EntityFieldQuery {
     $base_id_key = !empty($base_id_key) ? $base_id_key : $id_key;
 
     foreach ($this->properties as $key => $property) {
-      // Every properties needs a new join on the data table.
+      // Every property needs a new join on the data table.
       $table_alias = $data_table . '_' . $key;
       $table_aliases[$key] = $table_alias;
       $select_query->join($data_table, $table_alias, "$table_alias.$id_key = $base_table.$base_id_key");
