diff --git a/core/modules/translation_entity/lib/Drupal/translation_entity/EntityTranslationController.php b/core/modules/translation_entity/lib/Drupal/translation_entity/EntityTranslationController.php
index 906248a..99dded8 100644
--- a/core/modules/translation_entity/lib/Drupal/translation_entity/EntityTranslationController.php
+++ b/core/modules/translation_entity/lib/Drupal/translation_entity/EntityTranslationController.php
@@ -237,7 +237,10 @@ public function entityFormAlter(array &$form, array &$form_state, EntityInterfac
       // If there is only one published translation we cannot unpublish it,
       // since there would be nothing left to display.
       $enabled = TRUE;
-      if ($status) {
+      // Provides an extra check for $entity->translation element.
+      // It could be missing if entity had been created before the translate
+      // option was enabled.
+      if ($status && isset($entity->translation) && is_array($entity->translation)) {
         // A new translation is not available in the translation metadata, hence
         // it should count as one more.
         $published = $new_translation;
