diff --git a/modules/form_mode_manager_examples/src/Tests/FormModeManagerExamplesTest.php b/modules/form_mode_manager_examples/src/Tests/FormModeManagerExamplesTest.php
index 742fca0..2d70cf0 100644
--- a/modules/form_mode_manager_examples/src/Tests/FormModeManagerExamplesTest.php
+++ b/modules/form_mode_manager_examples/src/Tests/FormModeManagerExamplesTest.php
@@ -24,6 +24,9 @@ class FormModeManagerExamplesTest extends BrowserTestBase {
     'node',
     'block',
     'block_content',
+    'media',
+    'taxonomy',
+    'form_mode_manager'
   ];
 
   /**
diff --git a/src/EntityRoutingMapBase.php b/src/EntityRoutingMapBase.php
index cc211c6..c042aa9 100644
--- a/src/EntityRoutingMapBase.php
+++ b/src/EntityRoutingMapBase.php
@@ -3,6 +3,7 @@
 namespace Drupal\form_mode_manager;
 
 use Drupal\Component\Plugin\PluginBase;
+use Drupal\Core\Entity\EntityTypeManagerInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
 use Drupal\Core\StringTranslation\StringTranslationTrait;
@@ -19,6 +20,7 @@ use Drupal\Core\StringTranslation\StringTranslationTrait;
  * retrieving each possible cases.
  */
 abstract class EntityRoutingMapBase extends PluginBase implements EntityRoutingMapInterface, ContainerFactoryPluginInterface {
+
   use StringTranslationTrait;
 
   /**
@@ -50,6 +52,13 @@ abstract class EntityRoutingMapBase extends PluginBase implements EntityRoutingM
   protected $targetEntityType;
 
   /**
+   * The entity type manager service.
+   *
+   * @var \Drupal\Core\Entity\EntityTypeManagerInterface
+   */
+  protected $entityTypeManager;
+
+  /**
    * Constructs display plugin.
    *
    * @param array $configuration
@@ -58,13 +67,16 @@ abstract class EntityRoutingMapBase extends PluginBase implements EntityRoutingM
    *   The plugin_id for the plugin instance.
    * @param mixed $plugin_definition
    *   The plugin implementation definition.
+   * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
+   *   The entity type manager.
    */
-  public function __construct(array $configuration, $plugin_id, $plugin_definition) {
+  public function __construct(array $configuration, $plugin_id, $plugin_definition, EntityTypeManagerInterface $entity_type_manager) {
     parent::__construct($configuration, $plugin_id, $plugin_definition);
+    $this->entityTypeManager = $entity_type_manager;
+    $this->setTargetEntityType();
     $this->setConfiguration($configuration);
     $this->setDefaultFormClass();
     $this->setEditFormClass();
-    $this->setTargetEntityType();
   }
 
   /**
@@ -74,7 +86,8 @@ abstract class EntityRoutingMapBase extends PluginBase implements EntityRoutingM
     return new static(
       $configuration,
       $plugin_id,
-      $plugin_definition
+      $plugin_definition,
+      $container->get('entity_type.manager')
     );
   }
 
@@ -151,7 +164,27 @@ abstract class EntityRoutingMapBase extends PluginBase implements EntityRoutingM
    * {@inheritdoc}
    */
   public function setEditFormClass() {
-    $this->editFormClass = $this->pluginDefinition['editFormClass'];
+    $edit_form_operation = $this->pluginDefinition['editFormClass'];
+
+    if (!$this->entityFormClassExist($edit_form_operation)) {
+      $edit_form_operation = $this->getDefaultFormClass();
+    }
+
+    $this->editFormClass = $edit_form_operation;
+  }
+
+  /**
+   * Check if the entity have an edit operation handler.
+   *
+   * @param string $operation_name
+   *   The name of form handler operation.
+   *
+   * @return bool
+   *   True if generic `edit` form handler exist for this entity.
+   */
+  public function entityFormClassExist($operation_name) {
+    $entity_definition = $this->entityTypeManager->getDefinition($this->getTargetEntityType());
+    return !empty($entity_definition->getFormClass($operation_name));
   }
 
   /**
diff --git a/tests/src/Functional/FormModeManagerBase.php b/tests/src/Functional/FormModeManagerBase.php
index b5a2782..16c15e2 100644
--- a/tests/src/Functional/FormModeManagerBase.php
+++ b/tests/src/Functional/FormModeManagerBase.php
@@ -20,6 +20,8 @@ abstract class FormModeManagerBase extends BrowserTestBase {
    */
   public static $modules = [
     'block',
+    'block_content',
+    'media',
     'entity_test',
     'field_ui',
     'node',
