diff --git i/core/lib/Drupal/Core/Entity/EntityTypeManager.php w/core/lib/Drupal/Core/Entity/EntityTypeManager.php
index abe96a5c26..3fca70f2dd 100644
--- i/core/lib/Drupal/Core/Entity/EntityTypeManager.php
+++ w/core/lib/Drupal/Core/Entity/EntityTypeManager.php
@@ -181,7 +181,12 @@ public function getListBuilder($entity_type) {
    */
   public function getFormObject($entity_type, $operation) {
     if (!$class = $this->getDefinition($entity_type, TRUE)->getFormClass($operation)) {
-      throw new InvalidPluginDefinitionException($entity_type, sprintf('The "%s" entity type did not specify a "%s" form class.', $entity_type, $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, TRUE)->getFormClass('default')) {
+        throw new InvalidPluginDefinitionException($entity_type, sprintf('The "%s" entity type did not specify a "%s" form class and there is not a default class.', $entity_type, $operation));
+      }
     }
 
     $form_object = $this->classResolver->getInstanceFromDefinition($class);
