diff --git a/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php b/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php
index 25d4a5a..6f06dea 100644
--- a/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php
+++ b/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php
@@ -183,8 +183,14 @@ protected function invokeTranslationHooks(ContentEntityInterface $entity) {
    * {@inheritdoc}
    */
   protected function invokeHook($hook, EntityInterface $entity) {
-    if ($hook == 'presave') {
-      $this->invokeFieldMethod('preSave', $entity);
+    switch ($hook) {
+      case 'presave':
+        $this->invokeFieldMethod('preSave', $entity);
+        break;
+      case 'insert':
+      case 'update':
+        $this->invokeFieldMethod($hook, $entity);
+        break;
     }
     parent::invokeHook($hook, $entity);
   }
diff --git a/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php b/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php
index 924f6a8..ef10479 100644
--- a/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php
+++ b/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php
@@ -989,7 +989,6 @@ protected function doSave($id, EntityInterface $entity) {
         $this->saveToSharedTables($entity, $this->revisionDataTable);
       }
     }
-    $this->invokeFieldMethod($is_new ? 'insert' : 'update', $entity);
     $this->saveToDedicatedTables($entity, !$is_new);
 
     if (!$is_new && $this->dataTable) {
