diff --git a/core/modules/taxonomy/taxonomy.post_update.php b/core/modules/taxonomy/taxonomy.post_update.php
index 69fbb3d8..ca9669c7 100644
--- a/core/modules/taxonomy/taxonomy.post_update.php
+++ b/core/modules/taxonomy/taxonomy.post_update.php
@@ -147,7 +147,13 @@ function taxonomy_post_update_make_taxonomy_term_revisionable(&$sandbox) {
 
   $entity_type = $definition_update_manager->getEntityType('taxonomy_term');
   $field_storage_definitions = $last_installed_schema_repository->getLastInstalledFieldStorageDefinitions('taxonomy_term');
-
+     // Skip update when entity is already revisionable.
+  if (\Drupal::database()->schema()->tableExists('taxonomy_term_revision')) {
+    \Drupal::database()->schema()->dropTable('taxonomy_term_revision');
+    \Drupal::database()->schema()->dropTable('taxonomy_term_field_revision');
+    \Drupal::database()->schema()->dropTable('taxonomy_term_revision__parent');
+    \Drupal::database()->schema()->dropTable('taxonomy_term_revision__field_safe_name');
+  }
   // Update the entity type definition.
   $entity_keys = $entity_type->getKeys();
   $entity_keys['revision'] = 'revision_id';
