diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigStorageController.php b/core/lib/Drupal/Core/Config/Entity/ConfigStorageController.php
index b472b8f..12dc452 100644
--- a/core/lib/Drupal/Core/Config/Entity/ConfigStorageController.php
+++ b/core/lib/Drupal/Core/Config/Entity/ConfigStorageController.php
@@ -134,7 +134,13 @@ public function deleteRevision($revision_id) {
    * Implements Drupal\Core\Entity\EntityStorageControllerInterface::loadByProperties().
    */
   public function loadByProperties(array $values = array()) {
-    return array();
+    $entities = $this->load();
+    foreach ($values as $key => $value) {
+      $entities = array_filter($entities, function($entity) use ($key, $value) {
+        return $value === $entity->get($key);
+      });
+    }
+    return $entities;
   }
 
   /**
diff --git a/core/modules/block/lib/Drupal/block/BlockStorageController.php b/core/modules/block/lib/Drupal/block/BlockStorageController.php
index a873c5d..333bb7c 100644
--- a/core/modules/block/lib/Drupal/block/BlockStorageController.php
+++ b/core/modules/block/lib/Drupal/block/BlockStorageController.php
@@ -40,17 +40,4 @@ public function load(array $ids = NULL) {
     });
   }
 
-  /**
-   * Overrides \Drupal\Core\Config\Entity\ConfigStorageController::loadByProperties().
-   */
-  public function loadByProperties(array $values = array()) {
-    $blocks = $this->load();
-    foreach ($values as $key => $value) {
-      $blocks = array_filter($blocks, function($block) use ($key, $value) {
-        return $value === $block->get($key);
-      });
-    }
-    return $blocks;
-  }
-
 }
diff --git a/core/modules/config/lib/Drupal/config/Tests/ConfigEntityUnitTest.php b/core/modules/config/lib/Drupal/config/Tests/ConfigEntityUnitTest.php
index 32a198a..a5adf58 100644
--- a/core/modules/config/lib/Drupal/config/Tests/ConfigEntityUnitTest.php
+++ b/core/modules/config/lib/Drupal/config/Tests/ConfigEntityUnitTest.php
@@ -38,6 +38,30 @@ public function testStorageControllerMethods() {
 
     $expected = $info['config_prefix'] . '.';
     $this->assertIdentical($controller->getConfigPrefix(), $expected);
+
+    // Create three entities, two with the same style.
+    $style = $this->randomName();
+    for ($i = 0; $i < 2; $i++) {
+      $entity = $controller->create(array(
+        'id' => $this->randomName(),
+        'label' => $this->randomString(),
+        'style' => $style,
+      ));
+      $entity->save();
+    }
+    $entity = $controller->create(array(
+      'id' => $this->randomName(),
+      'label' => $this->randomString(),
+      'style' => $this->randomName(),
+    ));
+    $entity->save();
+
+    $entities = $controller->loadByProperties();
+    $this->assertEqual(count($entities), 3, 'Three entities are loaded when no properties are specified.');
+
+    $entities = $controller->loadByProperties(array('style' => $style));
+    $this->assertEqual(count($entities), 2, 'Two entities are loaded when the style property is specified.');
+    $this->assertEqual(reset($entities)->get('style'), $style, 'The loaded entities have the style value specified.');
   }
 
 }
