diff --git a/core/lib/Drupal/Core/Entity/EntityDefinitionUpdateManager.php b/core/lib/Drupal/Core/Entity/EntityDefinitionUpdateManager.php
index 197e4a4..940ff0c 100644
--- a/core/lib/Drupal/Core/Entity/EntityDefinitionUpdateManager.php
+++ b/core/lib/Drupal/Core/Entity/EntityDefinitionUpdateManager.php
@@ -70,12 +70,6 @@ public function getChangeSummary() {
     $summary = array();
 
     foreach ($this->getChangeList() as $entity_type_id => $change_list) {
-      // Process entity type definition changes.
-      if (!empty($change_list['entity_type']) && $change_list['entity_type'] == static::DEFINITION_UPDATED) {
-        $entity_type = $this->entityManager->getDefinition($entity_type_id);
-        $summary[$entity_type_id][] = $this->t('Update the %entity_type entity type.', array('%entity_type' => $entity_type->getLabel()));
-      }
-
       // Process field storage definition changes.
       if (!empty($change_list['field_storage_definitions'])) {
         $storage_definitions = $this->entityManager->getFieldStorageDefinitions($entity_type_id);
@@ -97,6 +91,13 @@ public function getChangeSummary() {
           }
         }
       }
+
+      // Process entity type definition changes.
+      if (!empty($change_list['entity_type']) && $change_list['entity_type'] == static::DEFINITION_UPDATED) {
+        $entity_type = $this->entityManager->getDefinition($entity_type_id);
+        $summary[$entity_type_id][] = $this->t('Update the %entity_type entity type.', array('%entity_type' => $entity_type->getLabel()));
+      }
+
     }
 
     return $summary;
diff --git a/core/modules/system/src/Tests/Entity/EntityDefinitionUpdateTest.php b/core/modules/system/src/Tests/Entity/EntityDefinitionUpdateTest.php
index 96c7583..dc9e11a 100644
--- a/core/modules/system/src/Tests/Entity/EntityDefinitionUpdateTest.php
+++ b/core/modules/system/src/Tests/Entity/EntityDefinitionUpdateTest.php
@@ -478,6 +478,25 @@ public function testDefinitionEvents() {
   }
 
   /**
+   * Tests updating entity schema and creating a base field at the same time when there are no existing entities.
+   */
+  public function testEntityTypeSchemaUpdateAndBaseFieldCreateWithoutData() {
+    $this->updateEntityTypeToRevisionable();
+    $this->addBaseField();
+    // Entity type creation creates base fields as well, thus make sure doing
+    // both at the same time does not lead to errors due to the base field being
+    // created twice.
+    try {
+      $this->entityDefinitionUpdateManager->applyUpdates();
+      $this->pass('Successfully updated entity schema and created base field at the same time.');
+    }
+    catch (\Exception $e) {
+      $this->fail('Successfully updated entity schema and created base field at the same time.');
+      throw $e;
+    }
+  }
+
+  /**
    * Updates the 'entity_test_update' entity type to revisionable.
    */
   protected function updateEntityTypeToRevisionable() {
