diff --git a/core_views_facets.info.yml b/core_views_facets.info.yml
index f50487a..887a57c 100644
--- a/core_views_facets.info.yml
+++ b/core_views_facets.info.yml
@@ -4,5 +4,6 @@ description: Facet support for generic views
 core: 8.x
 package: Search
 dependencies:
-  - facets
-  - views
+  - facets:facets (1.x-dev)
+  - drupal:views
+
diff --git a/core_views_facets.module b/core_views_facets.module
index 0e1c79e..c4927d4 100644
--- a/core_views_facets.module
+++ b/core_views_facets.module
@@ -74,21 +74,21 @@ function core_views_facets_entity_presave(EntityInterface $entity) {
       $sources = [];
       foreach ($entity->original->get('display') as $k => $display) {
         // Check if the current display is also a facet source plugin and that
-        // is removed from the view.
+        // is removed from the view. We use the double underscore here to make
+        // sure that we use core convention of "plugin:derived_plugin".
         foreach (['core_views_contextual_filter:', 'core_views_exposed_filter:'] as $facet_source) {
-          $test = $facet_source . $entity->id() . ':' . $display['id'];
-          if (array_key_exists($test, $definitions) && !array_key_exists($k, $entity->get('display'))) {
-            $entity_id = str_replace(':', '__', $test);
+          $facets_source_plugin_id = $facet_source . $entity->id() . '__' . $display['id'];
+          if (array_key_exists($facets_source_plugin_id, $definitions) && !array_key_exists($k, $entity->get('display'))) {
+            $entity_id = str_replace(':', '__', $facets_source_plugin_id);
             $source_entity = FacetSource::load($entity_id);
+            $sources[] = $facets_source_plugin_id;
             if (!is_null($source_entity)) {
               $source_entity->delete();
-              $sources[] = $test;
             }
           }
         }
       }
 
-
       // Loop over all deleted sources and delete the facets that were linked to
       // that source.
       if (count($sources) > 0) {
diff --git a/core_views_facets.plugin_type.yml.yml b/core_views_facets.plugin_type.yml.yml
index 2646f35..db65d60 100644
--- a/core_views_facets.plugin_type.yml.yml
+++ b/core_views_facets.plugin_type.yml.yml
@@ -1,9 +1,9 @@
 core_views_facets_exposed_filter_types:
-  label: Facets views filter
+  label: Facets views exposed filter
   plugin_manager_service_id: plugin.manager.core_views_facets.exposed_filter_types
   plugin_definition_decorator_class: \Drupal\plugin\PluginDefinition\ArrayPluginDefinitionDecorator
 
 core_views_facets_contextual_filter_types:
-  label: Facets views filter
+  label: Facets views contextual filter
   plugin_manager_service_id: plugin.manager.core_views_facets.contextual_filter_types
   plugin_definition_decorator_class: \Drupal\plugin\PluginDefinition\ArrayPluginDefinitionDecorator
diff --git a/src/Annotation/CoreViewsFacetsContextualFilterType.php b/src/Annotation/CoreViewsFacetsContextualFilterType.php
index 97e853e..2321745 100644
--- a/src/Annotation/CoreViewsFacetsContextualFilterType.php
+++ b/src/Annotation/CoreViewsFacetsContextualFilterType.php
@@ -7,7 +7,7 @@ use Drupal\Component\Annotation\Plugin;
 /**
  * Defines a Core views facets filter type item annotation object.
  *
- * @see \Drupal\core_views_facets\Plugin\CoreViewsFacetsContextualFilterTypeManager
+ * @see \Drupal\core_views_facets\CoreViewsFacetsContextualFilterTypeManager
  * @see plugin_api
  *
  * @Annotation
diff --git a/src/Annotation/CoreViewsFacetsExposedFilterType.php b/src/Annotation/CoreViewsFacetsExposedFilterType.php
index 2311d4f..02a6dfd 100644
--- a/src/Annotation/CoreViewsFacetsExposedFilterType.php
+++ b/src/Annotation/CoreViewsFacetsExposedFilterType.php
@@ -7,7 +7,7 @@ use Drupal\Component\Annotation\Plugin;
 /**
  * Defines a Core views facets filter type item annotation object.
  *
- * @see \Drupal\core_views_facets\Plugin\CoreViewsFacetsExposedFilterTypeManager
+ * @see \Drupal\core_views_facets\CoreViewsFacetsExposedFilterTypeManager
  * @see plugin_api
  *
  * @Annotation
diff --git a/src/EventSubscriber/AjaxResponseSubscriber.php b/src/EventSubscriber/AjaxResponseSubscriber.php
index 9b5963c..50c0190 100644
--- a/src/EventSubscriber/AjaxResponseSubscriber.php
+++ b/src/EventSubscriber/AjaxResponseSubscriber.php
@@ -42,14 +42,14 @@ class AjaxResponseSubscriber implements EventSubscriberInterface {
 
     /** @var \Drupal\facets\FacetManager\DefaultFacetManager $facet_manager */
     $facet_manager = \Drupal::service('facets.manager');
-    $exposed_facets = $facet_manager->getFacetsByFacetSourceId('core_views_exposed_filter' . PluginBase::DERIVATIVE_SEPARATOR . $view->id() . PluginBase::DERIVATIVE_SEPARATOR . $view->current_display);
+    $exposed_facets = $facet_manager->getFacetsByFacetSourceId('core_views_exposed_filter' . PluginBase::DERIVATIVE_SEPARATOR . $view->id() . '__' . $view->current_display);
 
     if (empty($exposed_facets)) {
       $rendered_status = &drupal_static('core_views_exposed_filter_ajax_rendered_status');
       $rendered_status = FALSE;
     }
 
-    $contextual_facets = $facet_manager->getFacetsByFacetSourceId('core_views_contextual_filter' . PluginBase::DERIVATIVE_SEPARATOR . $view->id() . PluginBase::DERIVATIVE_SEPARATOR . $view->current_display);
+    $contextual_facets = $facet_manager->getFacetsByFacetSourceId('core_views_contextual_filter' . PluginBase::DERIVATIVE_SEPARATOR . $view->id() . '__' . $view->current_display);
 
     if (empty($contextual_facets)) {
       $rendered_status = &drupal_static('core_views_contextual_filter_ajax_rendered_status');
diff --git a/src/Plugin/facets/facet_source/CoreViewsContextualFilter.php b/src/Plugin/facets/facet_source/CoreViewsContextualFilter.php
index d54d26d..1426b1d 100644
--- a/src/Plugin/facets/facet_source/CoreViewsContextualFilter.php
+++ b/src/Plugin/facets/facet_source/CoreViewsContextualFilter.php
@@ -258,7 +258,8 @@ class CoreViewsContextualFilter extends CoreViewsFacetSourceBase {
    */
   public function calculateDependencies() {
     $plugin_id_array = explode(':', $this->pluginId);
-    $dependencies['config'] = ['views.view.' . $plugin_id_array[1]];
+    list($view_id, ) = explode('__', $plugin_id_array[1]);
+    $dependencies['config'] = ['views.view.' . $view_id];
     $dependencies['module'] = ['core_views_facets', 'views'];
 
     return $dependencies;
diff --git a/src/Plugin/facets/facet_source/CoreViewsContextualFilterDeriver.php b/src/Plugin/facets/facet_source/CoreViewsContextualFilterDeriver.php
index 8a79d8a..f7a2303 100644
--- a/src/Plugin/facets/facet_source/CoreViewsContextualFilterDeriver.php
+++ b/src/Plugin/facets/facet_source/CoreViewsContextualFilterDeriver.php
@@ -44,10 +44,10 @@ class CoreViewsContextualFilterDeriver extends FacetSourceDeriverBase {
                 continue;
               }
 
-              $machine_name = $view->id() . PluginBase::DERIVATIVE_SEPARATOR . $name;
+              $machine_name = $view->id() . '__' . $name;
 
               $plugin_derivatives[$machine_name] = [
-                'id' => $base_plugin_id . PluginBase::DERIVATIVE_SEPARATOR . $machine_name,
+                'id' => $base_plugin_id . ':' . $machine_name,
                 'label' => $this->t('Core view contextual filter: %view_name, display: %display_title', [
                   '%view_name' => $view->label(),
                   '%display_title' => $display_info['display_title'],
diff --git a/src/Plugin/facets/facet_source/CoreViewsExposedFilter.php b/src/Plugin/facets/facet_source/CoreViewsExposedFilter.php
index 7217dd2..241536e 100644
--- a/src/Plugin/facets/facet_source/CoreViewsExposedFilter.php
+++ b/src/Plugin/facets/facet_source/CoreViewsExposedFilter.php
@@ -265,7 +265,8 @@ class CoreViewsExposedFilter extends CoreViewsFacetSourceBase {
    */
   public function calculateDependencies() {
     $plugin_id_array = explode(':', $this->pluginId);
-    $dependencies['config'] = ['views.view.' . $plugin_id_array[1]];
+    list($view_id, ) = explode('__', $plugin_id_array[1]);
+    $dependencies['config'] = ['views.view.' . $view_id];
     $dependencies['module'] = ['core_views_facets', 'views'];
 
     return $dependencies;
diff --git a/src/Plugin/facets/facet_source/CoreViewsExposedFilterDeriver.php b/src/Plugin/facets/facet_source/CoreViewsExposedFilterDeriver.php
index c58cb9e..bfa149f 100644
--- a/src/Plugin/facets/facet_source/CoreViewsExposedFilterDeriver.php
+++ b/src/Plugin/facets/facet_source/CoreViewsExposedFilterDeriver.php
@@ -45,10 +45,10 @@ class CoreViewsExposedFilterDeriver extends FacetSourceDeriverBase {
                 continue;
               }
 
-              $machine_name = $view->id() . PluginBase::DERIVATIVE_SEPARATOR . $name;
+              $machine_name = $view->id() . '__' . $name;
 
               $plugin_derivatives[$machine_name] = [
-                'id' => $base_plugin_id . PluginBase::DERIVATIVE_SEPARATOR . $machine_name,
+                'id' => $base_plugin_id . ':' . $machine_name,
                 'label' => $this->t('Core view exposed filter: %view_name, display: %display_title', [
                   '%view_name' => $view->label(),
                   '%display_title' => $display_info['display_title'],
diff --git a/src/Plugin/facets/facet_source/CoreViewsFacetSourceBase.php b/src/Plugin/facets/facet_source/CoreViewsFacetSourceBase.php
index 4ea44e9..dfa78b6 100644
--- a/src/Plugin/facets/facet_source/CoreViewsFacetSourceBase.php
+++ b/src/Plugin/facets/facet_source/CoreViewsFacetSourceBase.php
@@ -67,7 +67,11 @@ abstract class CoreViewsFacetSourceBase extends FacetSourcePluginBase {
    * {@inheritdoc}
    */
   public function getPath() {
-    return $this->view->getPath();
+    $path = $this->view->getPath();
+    if ($path[0] !== '/') {
+      $path = '/' . $path;
+    }
+    return $path;
   }
 
   /**
@@ -76,7 +80,8 @@ abstract class CoreViewsFacetSourceBase extends FacetSourcePluginBase {
   public function isRenderedInCurrentRequest() {
     $request = \Drupal::requestStack()->getMasterRequest();
     if ($request->attributes->get('_controller') === 'Drupal\views\Routing\ViewPageController::handle') {
-      list(, $view_id, $view_display) = explode(':', $this->getPluginId());
+      list(, $view) = explode(':', $this->getPluginId());
+      list($view_id, $view_display) = explode('__', $view);
 
       if ($request->attributes->get('view_id') == $view_id && $request->attributes->get('display_id') == $view_display) {
         return TRUE;
diff --git a/src/Tests/CoreViewsIntegrationTest.php b/src/Tests/CoreViewsIntegrationTest.php
index fa1c79b..85de3f9 100644
--- a/src/Tests/CoreViewsIntegrationTest.php
+++ b/src/Tests/CoreViewsIntegrationTest.php
@@ -136,8 +136,8 @@ class CoreViewsIntegrationTest extends ViewTestBase {
     ));
     $this->entities[5]->save();
 
-    $this->exposedFiltersFacetSourceId = 'core_views_exposed_filter:core_views_facets_basic_integration:page_1';
-    $this->contextualFiltersFacetSourceId = 'core_views_contextual_filter:core_views_facets_basic_integration:page_1';
+    $this->exposedFiltersFacetSourceId = 'core_views_exposed_filter:core_views_facets_basic_integration__page_1';
+    $this->contextualFiltersFacetSourceId = 'core_views_contextual_filter:core_views_facets_basic_integration__page_1';
     $this->facetUrl = 'core-views-facets-basic-integration';
 
     // Create test views.
@@ -164,7 +164,7 @@ class CoreViewsIntegrationTest extends ViewTestBase {
     $this->assertText('Displaying 5 results.', 'The search view displays the correct number of results.');
 
     // Create and place a block for "Test Facet name" facet.
-    $this->createFacetBlock($facet_id);
+    $this->blocks[$facet_id] = $this->createBlock($facet_id);
 
     // Verify that the facet results are correct.
     $this->drupalGet($this->facetUrl);
@@ -212,7 +212,7 @@ class CoreViewsIntegrationTest extends ViewTestBase {
 
     $this->addFacet($facet_name);
 
-    $this->createFacetBlock($facet_id);
+    $this->blocks[$facet_id] = $this->createBlock($facet_id);
 
     $this->drupalGet($this->facetUrl);
     $this->assertLink('item');
@@ -256,7 +256,7 @@ class CoreViewsIntegrationTest extends ViewTestBase {
 
     $this->addFacet($facet_name, 'contextual');
 
-    $this->createFacetBlock($facet_id);
+    $this->blocks[$facet_id] = $this->createBlock($facet_id);
 
     $this->drupalGet($this->facetUrl);
     $this->assertLink('item');
@@ -321,7 +321,7 @@ class CoreViewsIntegrationTest extends ViewTestBase {
     $edit = [
       'name' => $name,
       'id' => $id,
-      'facet_source_id' => 'core_views_exposed_filter:user_admin_people:page_1',
+      'facet_source_id' => 'core_views_exposed_filter:user_admin_people__page_1',
     ];
     $this->drupalPostForm(NULL, $edit, $this->t('Configure facet source'));
 
@@ -329,7 +329,7 @@ class CoreViewsIntegrationTest extends ViewTestBase {
     $edit['facet_source_configs[' . $edit['facet_source_id'] . '][views_combined_field_primary_field][combine]'] = 'mail';
 
     $this->drupalPostForm(NULL, $edit, $this->t('Save'));
-    $this->createFacetBlock($id);
+    $this->blocks[$id] = $this->createBlock($id);
 
     $this->drupalGet('admin/people');
     $this->assertFacetBlocksAppear();
@@ -337,7 +337,7 @@ class CoreViewsIntegrationTest extends ViewTestBase {
   }
 
   /**
-   * Helper function: asserts that a facet block does not appear.
+   * Asserts that a facet block does not appear.
    */
   protected function assertNoFacetBlocksAppear() {
     foreach ($this->blocks as $block) {
@@ -346,7 +346,7 @@ class CoreViewsIntegrationTest extends ViewTestBase {
   }
 
   /**
-   * Helper function: asserts that a facet block appears.
+   * Asserts that a facet block appears.
    */
   protected function assertFacetBlocksAppear() {
     foreach ($this->blocks as $block) {
@@ -359,16 +359,16 @@ class CoreViewsIntegrationTest extends ViewTestBase {
    *
    * @param string $id
    *   The id of the block.
+   *
+   * @return \Drupal\block\Entity\Block
+   *   The block entity.
    */
-  protected function createFacetBlock($id) {
+  protected function createBlock($id) {
     $block = [
-      'plugin_id' => 'facet_block:' . $id,
-      'settings' => [
-        'region' => 'footer',
-        'id' => str_replace('_', '-', $id),
-      ],
+      'region' => 'footer',
+      'id' => str_replace('_', '-', $id),
     ];
-    $this->blocks[$id] = $this->drupalPlaceBlock($block['plugin_id'], $block['settings']);
+    return $this->drupalPlaceBlock('facet_block:' . $id, $block);
   }
 
   /**
@@ -404,8 +404,8 @@ class CoreViewsIntegrationTest extends ViewTestBase {
   protected function setOptionShowOnlyWhenFacetSourceVisible($facet_name) {
     $facet_id = $this->convertNameToMachineName($facet_name);
 
-    $facet_display_page = '/admin/config/search/facets/' . $facet_id . '/edit';
-    $this->drupalGet($facet_display_page);
+    $facet_edit_page = '/admin/config/search/facets/' . $facet_id . '/edit';
+    $this->drupalGet($facet_edit_page);
     $this->assertResponse(200);
 
     $edit = [
@@ -423,10 +423,12 @@ class CoreViewsIntegrationTest extends ViewTestBase {
    *   The name of the facet.
    * @param string $source_type
    *   Either exposed or contextual.
+   * @param string $facet_type
+   *   Facet type.
    *
    * @throws \Exception
    */
-  protected function addFacet($facet_name, $source_type = 'exposed') {
+  protected function addFacet($facet_name, $source_type = 'exposed', $facet_type = 'type') {
     $facet_id = $this->convertNameToMachineName($facet_name);
 
     switch ($source_type) {
@@ -476,13 +478,13 @@ class CoreViewsIntegrationTest extends ViewTestBase {
 
     // The field is still required.
     $this->drupalPostForm(NULL, $form_values, $this->t('Save'));
-    $this->assertText($this->t('Field field is required.'));
+    $this->assertText($this->t('Facet field field is required.'));
 
     // Fill in all fields and make sure the 'field is required' message is no
     // longer shown.
     $facet_source_form = [
       'facet_source_id' => $facet_source_id,
-      'facet_source_configs[' . $facet_source_id . '][field_identifier]' => 'type',
+      'facet_source_configs[' . $facet_source_id . '][field_identifier]' => $facet_type,
     ];
     $this->drupalPostForm(NULL, $form_values + $facet_source_form, $this->t('Save'));
     $this->assertNoText('field is required.');
