diff --git a/core/lib/Drupal/Core/Config/ConfigManager.php b/core/lib/Drupal/Core/Config/ConfigManager.php
index 418b912..2c0df16 100644
--- a/core/lib/Drupal/Core/Config/ConfigManager.php
+++ b/core/lib/Drupal/Core/Config/ConfigManager.php
@@ -78,7 +78,7 @@ public function __construct(EntityManagerInterface $entity_manager, ConfigFactor
    */
   public function getEntityTypeIdByName($name) {
     $entities = array_filter($this->entityManager->getDefinitions(), function (EntityTypeInterface $entity_type) use ($name) {
-      return ($config_prefix = $entity_type->getConfigPrefix()) && strpos($name, $config_prefix . '.') === 0;
+      return ($entity_type instanceof ConfigEntityTypeInterface && $config_prefix = $entity_type->getConfigPrefix()) && strpos($name, $config_prefix . '.') === 0;
     });
     return key($entities);
   }
diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityType.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityType.php
index 9a61693..6cba7ab 100644
--- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityType.php
+++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityType.php
@@ -12,10 +12,17 @@
 /**
  * Provides an implementation of a config entity type and its metadata.
  */
-class ConfigEntityType extends EntityType {
+class ConfigEntityType extends EntityType implements ConfigEntityTypeInterface {
 
   /**
-   * Returns the config prefix used by the configuration entity type.
+   * The config prefix set in the configuration entity type annotation.
+   *
+   * The default configuration prefix is constructed from the name of the module
+   * that provides the entity type and the ID of the entity type. If a
+   * config_prefix annotation is present it will be used in place of the entity
+   * type ID.
+   *
+   * @see \Drupal\Core\Config\Entity\ConfigEntityType::getConfigPrefix()
    *
    * @var string
    */
@@ -40,11 +47,6 @@ public function getConfigPrefix() {
     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/lib/Drupal/Core/Entity/ContentEntityType.php b/core/lib/Drupal/Core/Entity/ContentEntityType.php
index 14f7ee2..1c2ccb2 100644
--- a/core/lib/Drupal/Core/Entity/ContentEntityType.php
+++ b/core/lib/Drupal/Core/Entity/ContentEntityType.php
@@ -21,11 +21,4 @@ public function getControllerClasses() {
     );
   }
 
-  /**
-   * {@inheritdoc}
-   */
-  public function getConfigPrefix() {
-    return FALSE;
-  }
-
 }
diff --git a/core/lib/Drupal/Core/Entity/EntityType.php b/core/lib/Drupal/Core/Entity/EntityType.php
index 93f6062..37a8af8 100644
--- a/core/lib/Drupal/Core/Entity/EntityType.php
+++ b/core/lib/Drupal/Core/Entity/EntityType.php
@@ -533,13 +533,6 @@ public function isTranslatable() {
   /**
    * {@inheritdoc}
    */
-  public function getConfigPrefix() {
-    return FALSE;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
   public function getRevisionDataTable() {
     return isset($this->revision_data_table) ? $this->revision_data_table : FALSE;
   }
diff --git a/core/lib/Drupal/Core/Entity/EntityTypeInterface.php b/core/lib/Drupal/Core/Entity/EntityTypeInterface.php
index 5934322..72a8a89 100644
--- a/core/lib/Drupal/Core/Entity/EntityTypeInterface.php
+++ b/core/lib/Drupal/Core/Entity/EntityTypeInterface.php
@@ -532,16 +532,6 @@ public function getBaseTable();
   public function isTranslatable();
 
   /**
-   * Returns the config prefix used by the configuration entity type.
-   *
-   * @todo Used for configuration entities only.
-   *
-   * @return string|bool
-   *   The config prefix, or FALSE if not a configuration entity type.
-   */
-  public function getConfigPrefix();
-
-  /**
    * Returns the name of the entity's revision data table.
    *
    * @todo Used by FieldableDatabaseStorageController only.
diff --git a/core/modules/config/lib/Drupal/config/Form/ConfigSingleImportForm.php b/core/modules/config/lib/Drupal/config/Form/ConfigSingleImportForm.php
index 434745e..e46f7e1 100644
--- a/core/modules/config/lib/Drupal/config/Form/ConfigSingleImportForm.php
+++ b/core/modules/config/lib/Drupal/config/Form/ConfigSingleImportForm.php
@@ -7,6 +7,7 @@
 
 namespace Drupal\config\Form;
 
+use Drupal\Core\Config\Entity\ConfigEntityTypeInterface;
 use Drupal\Core\Config\StorageInterface;
 use Drupal\Core\Entity\EntityManagerInterface;
 use Drupal\Core\Form\ConfirmFormBase;
diff --git a/core/modules/config_translation/tests/Drupal/config_translation/Tests/ConfigEntityMapperTest.php b/core/modules/config_translation/tests/Drupal/config_translation/Tests/ConfigEntityMapperTest.php
index b7ed1f5..0c9db6a 100644
--- a/core/modules/config_translation/tests/Drupal/config_translation/Tests/ConfigEntityMapperTest.php
+++ b/core/modules/config_translation/tests/Drupal/config_translation/Tests/ConfigEntityMapperTest.php
@@ -48,6 +48,12 @@ class ConfigEntityMapperTest extends UnitTestCase {
   protected $routeProvider;
 
   /**
+   * The entity used for testing.
+   *
+   * @var \Drupal\Core\Config\Entity\ConfigEntityType|\PHPUnit_Framework_MockObject_MockObject
+   */
+
+  /**
    * {@inheritdoc}
    */
   public static function getInfo() {
@@ -93,6 +99,10 @@ public function setUp() {
       $this->getStringTranslationStub(),
       $this->entityManager
     );
+
+    $this->entityType = $this->getMockBuilder('Drupal\Core\Config\Entity\ConfigEntityType')
+      ->disableOriginalConstructor()
+      ->getMock();
   }
 
   /**
@@ -105,12 +115,11 @@ public function testSetEntity() {
       ->with()
       ->will($this->returnValue('entity_id'));
 
-    $entity_type = $this->getMock('Drupal\Core\Entity\EntityTypeInterface');
     $this->entityManager
       ->expects($this->once())
       ->method('getDefinition')
       ->with('language_entity')
-      ->will($this->returnValue($entity_type));
+      ->will($this->returnValue($this->entityType));
 
     $result = $this->configEntityMapper->setEntity($this->entity);
     $this->assertTrue($result);
@@ -124,12 +133,11 @@ public function testSetEntity() {
    * Tests ConfigEntityMapper::getOverviewRouteParameters().
    */
   public function testGetOverviewRouteParameters() {
-    $entity_type = $this->getMock('Drupal\Core\Entity\EntityTypeInterface');
     $this->entityManager
       ->expects($this->once())
       ->method('getDefinition')
       ->with('language_entity')
-      ->will($this->returnValue($entity_type));
+      ->will($this->returnValue($this->entityType));
     $this->configEntityMapper->setEntity($this->entity);
 
     $this->entity
@@ -155,15 +163,14 @@ public function testGetType() {
    * Tests ConfigEntityMapper::getTypeName().
    */
   public function testGetTypeName() {
-    $entity_type = $this->getMock('Drupal\Core\Entity\EntityTypeInterface');
-    $entity_type->expects($this->once())
+    $this->entityType->expects($this->once())
       ->method('getLabel')
       ->will($this->returnValue('test'));
     $this->entityManager
       ->expects($this->once())
       ->method('getDefinition')
       ->with('language_entity')
-      ->will($this->returnValue($entity_type));
+      ->will($this->returnValue($this->entityType));
 
     $result = $this->configEntityMapper->getTypeName();
     $this->assertSame('test', $result);
@@ -173,15 +180,14 @@ public function testGetTypeName() {
    * Tests ConfigEntityMapper::getTypeLabel().
    */
   public function testGetTypeLabel() {
-    $entity_type = $this->getMock('Drupal\Core\Entity\EntityTypeInterface');
-    $entity_type->expects($this->once())
+    $this->entityType->expects($this->once())
       ->method('getLabel')
       ->will($this->returnValue('test'));
     $this->entityManager
       ->expects($this->once())
       ->method('getDefinition')
       ->with('language_entity')
-      ->will($this->returnValue($entity_type));
+      ->will($this->returnValue($this->entityType));
 
     $result = $this->configEntityMapper->getTypeLabel();
     $this->assertSame('test', $result);
