diff --git a/core/lib/Drupal/Core/Entity/EntityManager.php b/core/lib/Drupal/Core/Entity/EntityManager.php
index 1e1323e..0e22628 100644
--- a/core/lib/Drupal/Core/Entity/EntityManager.php
+++ b/core/lib/Drupal/Core/Entity/EntityManager.php
@@ -291,7 +291,11 @@ public function getListBuilder($entity_type) {
   public function getFormObject($entity_type, $operation) {
     if (!isset($this->handlers['form'][$operation][$entity_type])) {
       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);
