diff --git a/core/modules/editor/lib/Drupal/editor/EditorStorageController.php b/core/modules/editor/lib/Drupal/editor/EditorStorageController.php
new file mode 100644
index 0000000..16975bd
--- /dev/null
+++ b/core/modules/editor/lib/Drupal/editor/EditorStorageController.php
@@ -0,0 +1,47 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\editor\EditorStorageController
+ */
+
+namespace Drupal\editor;
+
+use Drupal\Component\Plugin\Exception\PluginException;
+use Drupal\Core\Config\Entity\ConfigStorageController;
+
+/**
+ * Provides the editor storage controller.
+ */
+class EditorStorageController extends ConfigStorageController {
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function buildQuery($ids, $revision_id = FALSE) {
+    if ($ids === NULL) {
+      $result = parent::buildQuery($ids, $revision_id);
+    }
+    else {
+      $config_class = $this->entityInfo['class'];
+      $prefix = $this->getConfigPrefix();
+      $result = array();
+      foreach ($ids as $id) {
+        // Add the prefix to the ID to serve as the configuration object name.
+        $config = $this->configFactory->get($prefix . $id);
+        if (!$config->isNew()) {
+          // Catch exceptions when a module that provides an editor plugin has
+          // been disabled.
+          try {
+            $result[$id] = new $config_class($config->get(), $this->entityType);
+          }
+          catch (PluginException $e) {
+            watchdog_exception('editor', $e);
+          }
+        }
+      }
+    }
+    return $result;
+  }
+
+}
diff --git a/core/modules/editor/lib/Drupal/editor/Plugin/Core/Entity/Editor.php b/core/modules/editor/lib/Drupal/editor/Plugin/Core/Entity/Editor.php
index 00eae37..193e8e0 100644
--- a/core/modules/editor/lib/Drupal/editor/Plugin/Core/Entity/Editor.php
+++ b/core/modules/editor/lib/Drupal/editor/Plugin/Core/Entity/Editor.php
@@ -20,7 +20,7 @@
  *   label = @Translation("Editor"),
  *   module = "editor",
  *   controllers = {
- *     "storage" = "Drupal\Core\Config\Entity\ConfigStorageController"
+ *     "storage" = "Drupal\editor\EditorStorageController"
  *   },
  *   config_prefix = "editor.editor",
  *   entity_keys = {
diff --git a/core/profiles/standard/lib/Drupal/standard/Tests/StandardTest.php b/core/profiles/standard/lib/Drupal/standard/Tests/StandardTest.php
index fc21631..e0215b7 100644
--- a/core/profiles/standard/lib/Drupal/standard/Tests/StandardTest.php
+++ b/core/profiles/standard/lib/Drupal/standard/Tests/StandardTest.php
@@ -27,14 +27,14 @@ public static function getInfo() {
   /**
    * Tests Standard installation profile.
    */
-  function testStandard() {
+  public function testStandard() {
     $this->drupalGet('');
     $this->assertLink(t('Contact'));
     $this->clickLink(t('Contact'));
     $this->assertResponse(200);
 
     // Test anonymous user can access 'Main navigation' block.
-    $admin = $this->drupalCreateUser(array('administer blocks'));
+    $admin = $this->drupalCreateUser(array('administer blocks', 'create article content'));
     $this->drupalLogin($admin);
     // Configure the block.
     $this->drupalGet('admin/structure/block/add/system_menu_block:menu-main/bartik');
@@ -67,6 +67,11 @@ function testStandard() {
     $this->drupalLogout();
     $this->assertText('Main navigation');
 
+    // Test disabling ckeditor module.
+    module_disable(array('ckeditor'));
+    $this->drupalLogin($admin);
+    $this->drupalGet('node/add/article');
+    $this->assertResponse('200');
   }
 
 }
