diff --git a/core/lib/Drupal/Core/Entity/EntityTypeManager.php b/core/lib/Drupal/Core/Entity/EntityTypeManager.php
index 5544e4a43d..5c5668d3cd 100644
--- a/core/lib/Drupal/Core/Entity/EntityTypeManager.php
+++ b/core/lib/Drupal/Core/Entity/EntityTypeManager.php
@@ -220,7 +220,12 @@ public function getListBuilder($entity_type_id) {
    */
   public function getFormObject($entity_type_id, $operation) {
     if (!$class = $this->getDefinition($entity_type_id, TRUE)->getFormClass($operation)) {
-      throw new InvalidPluginDefinitionException($entity_type_id, sprintf('The "%s" entity type did not specify a "%s" form class.', $entity_type_id, $operation));
+        // If there is not a class specified for this operation, try the default
+        // class. This condition is likely used by form modes added through
+        // the form modes user interface.
+        if (!$class = $this->getDefinition($entity_type_id, TRUE)->getFormClass('default')) {
+            throw new InvalidPluginDefinitionException($entity_type_id, sprintf('The "%s" entity type did not specify a "%s" form class and there is not a default class.', $entity_type_id, $operation));
+        }
     }
 
     $form_object = $this->classResolver->getInstanceFromDefinition($class);
