diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityType.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityType.php
index c72b707..e8f8088 100644
--- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityType.php
+++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityType.php
@@ -34,7 +34,18 @@ public function getControllerClasses() {
    * {@inheritdoc}
    */
   public function getConfigPrefix() {
-    return isset($this->config_prefix) ? $this->config_prefix : FALSE;
+    if (isset($this->config_prefix)) {
+      $config_prefix = $this->config_prefix;
+    }
+    else {
+      $config_prefix = $this->id();
+    }
+    // Ensure that all configuration entities are prefixed by the module that
+    // provides the configuration entity type. This ensures that default
+    // configuration will be created as expected during module install and
+    // dependencies can be calculated without the modules that provide the
+    // entity types being installed.
+    return $this->provider . '.' . $config_prefix;
   }
 
   /**
diff --git a/core/modules/block/custom_block/lib/Drupal/custom_block/Entity/CustomBlockType.php b/core/modules/block/custom_block/lib/Drupal/custom_block/Entity/CustomBlockType.php
index d630254..7c3ce11 100644
--- a/core/modules/block/custom_block/lib/Drupal/custom_block/Entity/CustomBlockType.php
+++ b/core/modules/block/custom_block/lib/Drupal/custom_block/Entity/CustomBlockType.php
@@ -27,7 +27,7 @@
  *     "list" = "Drupal\custom_block\CustomBlockTypeListController"
  *   },
  *   admin_permission = "administer blocks",
- *   config_prefix = "custom_block.type",
+ *   config_prefix = "type",
  *   bundle_of = "custom_block",
  *   entity_keys = {
  *     "id" = "id",
diff --git a/core/modules/block/lib/Drupal/block/Entity/Block.php b/core/modules/block/lib/Drupal/block/Entity/Block.php
index 9437e77..32e3f9b 100644
--- a/core/modules/block/lib/Drupal/block/Entity/Block.php
+++ b/core/modules/block/lib/Drupal/block/Entity/Block.php
@@ -27,7 +27,6 @@
  *       "delete" = "Drupal\block\Form\BlockDeleteForm"
  *     }
  *   },
- *   config_prefix = "block.block",
  *   admin_permission = "administer blocks",
  *   fieldable = FALSE,
  *   entity_keys = {
diff --git a/core/modules/breakpoint/lib/Drupal/breakpoint/Entity/Breakpoint.php b/core/modules/breakpoint/lib/Drupal/breakpoint/Entity/Breakpoint.php
index 1d40959..69283d8 100644
--- a/core/modules/breakpoint/lib/Drupal/breakpoint/Entity/Breakpoint.php
+++ b/core/modules/breakpoint/lib/Drupal/breakpoint/Entity/Breakpoint.php
@@ -21,7 +21,6 @@
  * @ConfigEntityType(
  *   id = "breakpoint",
  *   label = @Translation("Breakpoint"),
- *   config_prefix = "breakpoint.breakpoint",
  *   entity_keys = {
  *     "id" = "id",
  *     "label" = "label",
diff --git a/core/modules/breakpoint/lib/Drupal/breakpoint/Entity/BreakpointGroup.php b/core/modules/breakpoint/lib/Drupal/breakpoint/Entity/BreakpointGroup.php
index 2833b67..08c63bf 100644
--- a/core/modules/breakpoint/lib/Drupal/breakpoint/Entity/BreakpointGroup.php
+++ b/core/modules/breakpoint/lib/Drupal/breakpoint/Entity/BreakpointGroup.php
@@ -18,7 +18,6 @@
  * @ConfigEntityType(
  *   id = "breakpoint_group",
  *   label = @Translation("Breakpoint group"),
- *   config_prefix = "breakpoint.breakpoint_group",
  *   entity_keys = {
  *     "id" = "id",
  *     "label" = "label",
diff --git a/core/modules/config/tests/config_test/config_test.module b/core/modules/config/tests/config_test/config_test.module
index 0a16756..51e406f 100644
--- a/core/modules/config/tests/config_test/config_test.module
+++ b/core/modules/config/tests/config_test/config_test.module
@@ -83,5 +83,5 @@ function config_test_entity_type_alter(array &$entity_types) {
   unset($keys['status']);
   $config_test_no_status->set('id', 'config_test_no_status');
   $config_test_no_status->set('entity_keys', $keys);
-  $config_test_no_status->set('config_prefix', 'config_test.no_status');
+  $config_test_no_status->set('config_prefix', 'no_status');
 }
diff --git a/core/modules/config/tests/config_test/lib/Drupal/config_test/Entity/ConfigQueryTest.php b/core/modules/config/tests/config_test/lib/Drupal/config_test/Entity/ConfigQueryTest.php
index 8c37a49..296b2fe 100644
--- a/core/modules/config/tests/config_test/lib/Drupal/config_test/Entity/ConfigQueryTest.php
+++ b/core/modules/config/tests/config_test/lib/Drupal/config_test/Entity/ConfigQueryTest.php
@@ -20,7 +20,7 @@
  *       "default" = "Drupal\config_test\ConfigTestFormController"
  *     }
  *   },
- *   config_prefix = "config_query_test.dynamic",
+ *   config_prefix = "query",
  *   entity_keys = {
  *     "id" = "id",
  *     "label" = "label",
diff --git a/core/modules/config/tests/config_test/lib/Drupal/config_test/Entity/ConfigTest.php b/core/modules/config/tests/config_test/lib/Drupal/config_test/Entity/ConfigTest.php
index 36d7fbf..d9c4cfa 100644
--- a/core/modules/config/tests/config_test/lib/Drupal/config_test/Entity/ConfigTest.php
+++ b/core/modules/config/tests/config_test/lib/Drupal/config_test/Entity/ConfigTest.php
@@ -25,7 +25,7 @@
  *     },
  *     "access" = "Drupal\config_test\ConfigTestAccessController"
  *   },
- *   config_prefix = "config_test.dynamic",
+ *   config_prefix = "dynamic",
  *   entity_keys = {
  *     "id" = "id",
  *     "label" = "label",
diff --git a/core/modules/contact/lib/Drupal/contact/Entity/Category.php b/core/modules/contact/lib/Drupal/contact/Entity/Category.php
index e02994e..db502c7 100644
--- a/core/modules/contact/lib/Drupal/contact/Entity/Category.php
+++ b/core/modules/contact/lib/Drupal/contact/Entity/Category.php
@@ -26,7 +26,7 @@
  *       "delete" = "Drupal\contact\Form\CategoryDeleteForm"
  *     }
  *   },
- *   config_prefix = "contact.category",
+ *   config_prefix = "category",
  *   admin_permission = "administer contact forms",
  *   bundle_of = "contact_message",
  *   entity_keys = {
diff --git a/core/modules/editor/lib/Drupal/editor/Entity/Editor.php b/core/modules/editor/lib/Drupal/editor/Entity/Editor.php
index 7f3ee11..7573c28 100644
--- a/core/modules/editor/lib/Drupal/editor/Entity/Editor.php
+++ b/core/modules/editor/lib/Drupal/editor/Entity/Editor.php
@@ -16,7 +16,6 @@
  * @ConfigEntityType(
  *   id = "editor",
  *   label = @Translation("Editor"),
- *   config_prefix = "editor.editor",
  *   entity_keys = {
  *     "id" = "format",
  *     "uuid" = "uuid"
diff --git a/core/modules/entity/lib/Drupal/entity/Entity/EntityFormDisplay.php b/core/modules/entity/lib/Drupal/entity/Entity/EntityFormDisplay.php
index 7192894..8332745 100644
--- a/core/modules/entity/lib/Drupal/entity/Entity/EntityFormDisplay.php
+++ b/core/modules/entity/lib/Drupal/entity/Entity/EntityFormDisplay.php
@@ -17,7 +17,7 @@
  * @ConfigEntityType(
  *   id = "entity_form_display",
  *   label = @Translation("Entity form display"),
- *   config_prefix = "entity.form_display",
+ *   config_prefix = "form_display",
  *   entity_keys = {
  *     "id" = "id",
  *     "uuid" = "uuid",
diff --git a/core/modules/entity/lib/Drupal/entity/Entity/EntityFormMode.php b/core/modules/entity/lib/Drupal/entity/Entity/EntityFormMode.php
index 38bf22f..eea183c 100644
--- a/core/modules/entity/lib/Drupal/entity/Entity/EntityFormMode.php
+++ b/core/modules/entity/lib/Drupal/entity/Entity/EntityFormMode.php
@@ -40,7 +40,6 @@
  *     }
  *   },
  *   admin_permission = "administer display modes",
- *   config_prefix = "entity.form_mode",
  *   entity_keys = {
  *     "id" = "id",
  *     "label" = "label",
diff --git a/core/modules/entity/lib/Drupal/entity/Entity/EntityViewDisplay.php b/core/modules/entity/lib/Drupal/entity/Entity/EntityViewDisplay.php
index 14f12c4..bb57639 100644
--- a/core/modules/entity/lib/Drupal/entity/Entity/EntityViewDisplay.php
+++ b/core/modules/entity/lib/Drupal/entity/Entity/EntityViewDisplay.php
@@ -19,7 +19,10 @@
  * @ConfigEntityType(
  *   id = "entity_view_display",
  *   label = @Translation("Entity view display"),
- *   config_prefix = "entity.view_display",
+ *   controllers = {
+ *     "storage" = "Drupal\Core\Config\Entity\ConfigStorageController"
+ *   },
+ *   config_prefix = "view_display",
  *   entity_keys = {
  *     "id" = "id",
  *     "uuid" = "uuid",
diff --git a/core/modules/entity/lib/Drupal/entity/Entity/EntityViewMode.php b/core/modules/entity/lib/Drupal/entity/Entity/EntityViewMode.php
index 1785888..fd30fb5 100644
--- a/core/modules/entity/lib/Drupal/entity/Entity/EntityViewMode.php
+++ b/core/modules/entity/lib/Drupal/entity/Entity/EntityViewMode.php
@@ -40,7 +40,6 @@
  *     }
  *   },
  *   admin_permission = "administer display modes",
- *   config_prefix = "entity.view_mode",
  *   entity_keys = {
  *     "id" = "id",
  *     "label" = "label",
diff --git a/core/modules/field/lib/Drupal/field/Entity/FieldConfig.php b/core/modules/field/lib/Drupal/field/Entity/FieldConfig.php
index a152312..da997b6 100644
--- a/core/modules/field/lib/Drupal/field/Entity/FieldConfig.php
+++ b/core/modules/field/lib/Drupal/field/Entity/FieldConfig.php
@@ -25,7 +25,7 @@
  *   controllers = {
  *     "storage" = "Drupal\field\FieldConfigStorageController"
  *   },
- *   config_prefix = "field.field",
+ *   config_prefix = "field",
  *   entity_keys = {
  *     "id" = "id",
  *     "label" = "id",
diff --git a/core/modules/field/lib/Drupal/field/Entity/FieldInstanceConfig.php b/core/modules/field/lib/Drupal/field/Entity/FieldInstanceConfig.php
index fb367f8..3c35bfb 100644
--- a/core/modules/field/lib/Drupal/field/Entity/FieldInstanceConfig.php
+++ b/core/modules/field/lib/Drupal/field/Entity/FieldInstanceConfig.php
@@ -24,7 +24,7 @@
  *   controllers = {
  *     "storage" = "Drupal\field\FieldInstanceConfigStorageController"
  *   },
- *   config_prefix = "field.instance",
+ *   config_prefix = "instance",
  *   entity_keys = {
  *     "id" = "id",
  *     "label" = "label",
diff --git a/core/modules/filter/lib/Drupal/filter/Entity/FilterFormat.php b/core/modules/filter/lib/Drupal/filter/Entity/FilterFormat.php
index 6666c86..0ed9249 100644
--- a/core/modules/filter/lib/Drupal/filter/Entity/FilterFormat.php
+++ b/core/modules/filter/lib/Drupal/filter/Entity/FilterFormat.php
@@ -29,7 +29,7 @@
  *     "list" = "Drupal\filter\FilterFormatListController",
  *     "access" = "Drupal\filter\FilterFormatAccessController",
  *   },
- *   config_prefix = "filter.format",
+ *   config_prefix = "format",
  *   admin_permission = "administer filters",
  *   entity_keys = {
  *     "id" = "format",
diff --git a/core/modules/image/lib/Drupal/image/Entity/ImageStyle.php b/core/modules/image/lib/Drupal/image/Entity/ImageStyle.php
index 65e8f6d..6938d38 100644
--- a/core/modules/image/lib/Drupal/image/Entity/ImageStyle.php
+++ b/core/modules/image/lib/Drupal/image/Entity/ImageStyle.php
@@ -32,7 +32,7 @@
  *     "list" = "Drupal\image\ImageStyleListController",
  *   },
  *   admin_permission = "administer image styles",
- *   config_prefix = "image.style",
+ *   config_prefix = "style",
  *   entity_keys = {
  *     "id" = "name",
  *     "label" = "label",
diff --git a/core/modules/language/lib/Drupal/language/Entity/Language.php b/core/modules/language/lib/Drupal/language/Entity/Language.php
index bc42a81..a9dee76 100644
--- a/core/modules/language/lib/Drupal/language/Entity/Language.php
+++ b/core/modules/language/lib/Drupal/language/Entity/Language.php
@@ -28,7 +28,7 @@
  *     }
  *   },
  *   admin_permission = "administer languages",
- *   config_prefix = "language.entity",
+ *   config_prefix = "entity",
  *   entity_keys = {
  *     "id" = "id",
  *     "label" = "label",
diff --git a/core/modules/migrate/lib/Drupal/migrate/Entity/Migration.php b/core/modules/migrate/lib/Drupal/migrate/Entity/Migration.php
index 033d910..0f06a6e 100644
--- a/core/modules/migrate/lib/Drupal/migrate/Entity/Migration.php
+++ b/core/modules/migrate/lib/Drupal/migrate/Entity/Migration.php
@@ -29,7 +29,6 @@
  *       "delete" = "Drupal\Core\Entity\EntityFormController"
  *     }
  *   },
- *   config_prefix = "migrate.migration",
  *   entity_keys = {
  *     "id" = "id",
  *     "label" = "label",
diff --git a/core/modules/node/lib/Drupal/node/Entity/NodeType.php b/core/modules/node/lib/Drupal/node/Entity/NodeType.php
index eb1c57a..a7418d8 100644
--- a/core/modules/node/lib/Drupal/node/Entity/NodeType.php
+++ b/core/modules/node/lib/Drupal/node/Entity/NodeType.php
@@ -29,7 +29,7 @@
  *     "list" = "Drupal\node\NodeTypeListController",
  *   },
  *   admin_permission = "administer content types",
- *   config_prefix = "node.type",
+ *   config_prefix = "type",
  *   bundle_of = "node",
  *   entity_keys = {
  *     "id" = "type",
diff --git a/core/modules/picture/lib/Drupal/picture/Entity/PictureMapping.php b/core/modules/picture/lib/Drupal/picture/Entity/PictureMapping.php
index 9c11628..883a0e6 100644
--- a/core/modules/picture/lib/Drupal/picture/Entity/PictureMapping.php
+++ b/core/modules/picture/lib/Drupal/picture/Entity/PictureMapping.php
@@ -27,7 +27,7 @@
  *   },
  *   list_path = "admin/config/media/picturemapping",
  *   admin_permission = "administer pictures",
- *   config_prefix = "picture.mappings",
+ *   config_prefix = "mappings",
  *   entity_keys = {
  *     "id" = "id",
  *     "label" = "label",
diff --git a/core/modules/rdf/lib/Drupal/rdf/Entity/RdfMapping.php b/core/modules/rdf/lib/Drupal/rdf/Entity/RdfMapping.php
index 5a4297d..2ca8a7b 100644
--- a/core/modules/rdf/lib/Drupal/rdf/Entity/RdfMapping.php
+++ b/core/modules/rdf/lib/Drupal/rdf/Entity/RdfMapping.php
@@ -17,7 +17,7 @@
  * @ConfigEntityType(
  *   id = "rdf_mapping",
  *   label = @Translation("RDF mapping"),
- *   config_prefix = "rdf.mapping",
+ *   config_prefix = "mapping",
  *   entity_keys = {
  *     "id" = "id",
  *     "uuid" = "uuid"
diff --git a/core/modules/search/lib/Drupal/search/Entity/SearchPage.php b/core/modules/search/lib/Drupal/search/Entity/SearchPage.php
index c640abe..b63fa96 100644
--- a/core/modules/search/lib/Drupal/search/Entity/SearchPage.php
+++ b/core/modules/search/lib/Drupal/search/Entity/SearchPage.php
@@ -39,7 +39,7 @@
  *     "disable" = "search.disable",
  *     "set-default" = "search.set_default"
  *   },
- *   config_prefix = "search.page",
+ *   config_prefix = "page",
  *   entity_keys = {
  *     "id" = "id",
  *     "label" = "label",
diff --git a/core/modules/shortcut/lib/Drupal/shortcut/Entity/ShortcutSet.php b/core/modules/shortcut/lib/Drupal/shortcut/Entity/ShortcutSet.php
index a4d30c8..ab6a85d 100644
--- a/core/modules/shortcut/lib/Drupal/shortcut/Entity/ShortcutSet.php
+++ b/core/modules/shortcut/lib/Drupal/shortcut/Entity/ShortcutSet.php
@@ -30,7 +30,7 @@
  *       "delete" = "Drupal\shortcut\Form\ShortcutSetDeleteForm"
  *     }
  *   },
- *   config_prefix = "shortcut.set",
+ *   config_prefix = "set",
  *   entity_keys = {
  *     "id" = "id",
  *     "label" = "label",
diff --git a/core/modules/system/lib/Drupal/system/Entity/Action.php b/core/modules/system/lib/Drupal/system/Entity/Action.php
index 7df6352..cba85cf 100644
--- a/core/modules/system/lib/Drupal/system/Entity/Action.php
+++ b/core/modules/system/lib/Drupal/system/Entity/Action.php
@@ -20,7 +20,6 @@
  *   id = "action",
  *   label = @Translation("Action"),
  *   admin_permission = "administer actions",
- *   config_prefix = "system.action",
  *   entity_keys = {
  *     "id" = "id",
  *     "label" = "label",
diff --git a/core/modules/system/lib/Drupal/system/Entity/DateFormat.php b/core/modules/system/lib/Drupal/system/Entity/DateFormat.php
index 0a1d494..593e5bf 100644
--- a/core/modules/system/lib/Drupal/system/Entity/DateFormat.php
+++ b/core/modules/system/lib/Drupal/system/Entity/DateFormat.php
@@ -27,7 +27,6 @@
  *       "delete" = "Drupal\system\Form\DateFormatDeleteForm"
  *     }
  *   },
- *   config_prefix = "system.date_format",
  *   entity_keys = {
  *     "id" = "id",
  *     "label" = "label",
diff --git a/core/modules/system/lib/Drupal/system/Entity/Menu.php b/core/modules/system/lib/Drupal/system/Entity/Menu.php
index 5466692..7477a83 100644
--- a/core/modules/system/lib/Drupal/system/Entity/Menu.php
+++ b/core/modules/system/lib/Drupal/system/Entity/Menu.php
@@ -21,7 +21,6 @@
  *   controllers = {
  *     "access" = "Drupal\system\MenuAccessController"
  *   },
- *   config_prefix = "system.menu",
  *   admin_permission = "administer menu",
  *   entity_keys = {
  *     "id" = "id",
diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Entity/Vocabulary.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Entity/Vocabulary.php
index 154ab6b..d1d763a 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/Entity/Vocabulary.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Entity/Vocabulary.php
@@ -27,7 +27,7 @@
  *     }
  *   },
  *   admin_permission = "administer taxonomy",
- *   config_prefix = "taxonomy.vocabulary",
+ *   config_prefix = "vocabulary",
  *   bundle_of = "taxonomy_term",
  *   entity_keys = {
  *     "id" = "vid",
diff --git a/core/modules/tour/lib/Drupal/tour/Entity/Tour.php b/core/modules/tour/lib/Drupal/tour/Entity/Tour.php
index e7e8d10..f00d1fc 100644
--- a/core/modules/tour/lib/Drupal/tour/Entity/Tour.php
+++ b/core/modules/tour/lib/Drupal/tour/Entity/Tour.php
@@ -20,7 +20,6 @@
  *   controllers = {
  *     "view_builder" = "Drupal\tour\TourViewBuilder"
  *   },
- *   config_prefix = "tour.tour",
  *   entity_keys = {
  *     "id" = "id",
  *     "label" = "label",
diff --git a/core/modules/user/lib/Drupal/user/Entity/Role.php b/core/modules/user/lib/Drupal/user/Entity/Role.php
index 71ac261..c89dea8 100644
--- a/core/modules/user/lib/Drupal/user/Entity/Role.php
+++ b/core/modules/user/lib/Drupal/user/Entity/Role.php
@@ -28,7 +28,7 @@
  *     }
  *   },
  *   admin_permission = "administer permissions",
- *   config_prefix = "user.role",
+ *   config_prefix = "role",
  *   entity_keys = {
  *     "id" = "id",
  *     "uuid" = "uuid",
diff --git a/core/modules/views/lib/Drupal/views/Entity/View.php b/core/modules/views/lib/Drupal/views/Entity/View.php
index a5d9ea8..0006310 100644
--- a/core/modules/views/lib/Drupal/views/Entity/View.php
+++ b/core/modules/views/lib/Drupal/views/Entity/View.php
@@ -26,7 +26,6 @@
  *     "access" = "Drupal\views\ViewAccessController"
  *   },
  *   admin_permission = "administer views",
- *   config_prefix = "views.view",
  *   entity_keys = {
  *     "id" = "id",
  *     "label" = "label",
