diff --git a/entity_reference_revisions.module b/entity_reference_revisions.module
index cead27b..157a096 100644
--- a/entity_reference_revisions.module
+++ b/entity_reference_revisions.module
@@ -249,30 +249,35 @@ function entity_reference_revisions_entity_revision_create(ContentEntityInterfac
 
           $values = [];
           foreach ($items as $delta => $item) {
-            // Use the item from the translation if it exists.
-            // If we have translation items, use that if one with the matching
-            // target id exists.
-            if ($translation_items) {
-              foreach ($translation_items as $translation_item) {
-                if ($item->target_id == $translation_item->target_id) {
-                  $item = $translation_item;
-                  break;
+            try {
+              // Use the item from the translation if it exists.
+              // If we have translation items, use that if one with the matching
+              // target id exists.
+              if ($translation_items) {
+                foreach ($translation_items as $translation_item) {
+                  if ($item->target_id == $translation_item->target_id) {
+                    $item = $translation_item;
+                    break;
+                  }
                 }
               }
-            }
 
-            /** @var \Drupal\Core\Entity\ContentEntityInterface $target_entity */
-            $target_entity = $item->entity;
-            if (!$target_entity->hasTranslation($active_langcode)) {
-              $target_entity->addTranslation($active_langcode, $target_entity->toArray());
-            }
-            $target_entity = $item->entity->getTranslation($active_langcode);
-            $revised_entity = $target_storage->createRevision($target_entity, $new_revision->isDefaultRevision(), $keep_untranslatable_fields);
+              /** @var \Drupal\Core\Entity\ContentEntityInterface $target_entity */
+              $target_entity = $item->entity;
+              if (!$target_entity->hasTranslation($active_langcode)) {
+                $target_entity->addTranslation($active_langcode, $target_entity->toArray());
+              }
+              $target_entity = $item->entity->getTranslation($active_langcode);
+              $revised_entity = $target_storage->createRevision($target_entity, $new_revision->isDefaultRevision(), $keep_untranslatable_fields);
 
-            // Restore the revision ID.
-            $revision_key = $revised_entity->getEntityType()->getKey('revision');
-            $revised_entity->set($revision_key, $revised_entity->getLoadedRevisionId());
-            $values[$delta] = $revised_entity;
+              // Restore the revision ID.
+              $revision_key = $revised_entity->getEntityType()->getKey('revision');
+              $revised_entity->set($revision_key, $revised_entity->getLoadedRevisionId());
+              $values[$delta] = $revised_entity;
+            }
+            catch (\Exception $t) {
+              drupal_set_message(t('entity_reference_revisions_entity_revision_create had trouble updating delta @d of @f; moving on.', ['@d' => $delta, '@f' => $field_name]), 'error');
+            }
           }
           $new_revision->set($field_name, $values);
         }
