diff --git a/panelizer.services.yml b/panelizer.services.yml
index d36b86c..845bb7e 100644
--- a/panelizer.services.yml
+++ b/panelizer.services.yml
@@ -9,7 +9,7 @@ services:
     parent: default_plugin_manager
   panelizer:
     class: Drupal\panelizer\Panelizer
-    arguments: ['@entity_type.manager', '@entity_type.bundle.info', '@entity_field.manager', '@plugin.manager.field.field_type', '@module_handler', '@current_user', '@plugin.manager.panelizer_entity', '@panels.display_manager', '@string_translation', '@ctools.context_mapper']
+    arguments: ['@entity_type.manager', '@entity_type.bundle.info', '@entity_field.manager', '@plugin.manager.field.field_type', '@module_handler', '@current_user', '@plugin.manager.panelizer_entity', '@panels.display_manager', '@string_translation', '@ctools.context_mapper', '@language_manager']
   panelizer.default.access:
     class: Drupal\panelizer\Access\DefaultAccess
     arguments: ['@panelizer']
diff --git a/src/Panelizer.php b/src/Panelizer.php
index bfe929b..a97708d 100644
--- a/src/Panelizer.php
+++ b/src/Panelizer.php
@@ -16,6 +16,8 @@ use Drupal\Core\Entity\FieldableEntityInterface;
 use Drupal\Core\Entity\RevisionableInterface;
 use Drupal\Core\Extension\ModuleHandlerInterface;
 use Drupal\Core\Field\FieldTypePluginManagerInterface;
+use Drupal\Core\Language\LanguageInterface;
+use Drupal\Core\Language\LanguageManagerInterface;
 use Drupal\Core\Session\AccountInterface;
 use Drupal\Core\Session\AccountProxyInterface;
 use Drupal\Core\StringTranslation\StringTranslationTrait;
@@ -97,6 +99,13 @@ class Panelizer implements PanelizerInterface {
   protected $contextMapper;
 
   /**
+   * The language manager.
+   *
+   * @param \Drupal\Core\Language\LanguageManagerInterface $language_manager
+   */
+  protected $languageManager;
+
+  /**
    * Constructs a Panelizer.
    *
    * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
@@ -119,8 +128,10 @@ class Panelizer implements PanelizerInterface {
    *   The string translation service.
    * @param \Drupal\ctools\ContextMapperInterface $context_mapper
    *   The context mapper service.
+   * @param \Drupal\Core\Language\LanguageManagerInterface $language_manager
+   *   The language manager.
    */
-  public function __construct(EntityTypeManagerInterface $entity_type_manager, EntityTypeBundleInfoInterface $entity_type_bundle_info, EntityFieldManagerInterface $entity_field_manager, FieldTypePluginManagerInterface $field_type_manager, ModuleHandlerInterface $module_handler, AccountProxyInterface $current_user, PanelizerEntityManager $panelizer_entity_manager, PanelsDisplayManagerInterface $panels_manager, TranslationInterface $string_translation, ContextMapperInterface $context_mapper) {
+  public function __construct(EntityTypeManagerInterface $entity_type_manager, EntityTypeBundleInfoInterface $entity_type_bundle_info, EntityFieldManagerInterface $entity_field_manager, FieldTypePluginManagerInterface $field_type_manager, ModuleHandlerInterface $module_handler, AccountProxyInterface $current_user, PanelizerEntityManager $panelizer_entity_manager, PanelsDisplayManagerInterface $panels_manager, TranslationInterface $string_translation, ContextMapperInterface $context_mapper, LanguageManagerInterface $language_manager) {
     $this->entityTypeManager = $entity_type_manager;
     $this->entityTypeBundleInfo = $entity_type_bundle_info;
     $this->entityFieldManager = $entity_field_manager;
@@ -131,6 +142,7 @@ class Panelizer implements PanelizerInterface {
     $this->panelsManager = $panels_manager;
     $this->stringTranslation = $string_translation;
     $this->contextMapper = $context_mapper;
+    $this->languageManager = $language_manager;
   }
 
   /**
@@ -320,8 +332,18 @@ class Panelizer implements PanelizerInterface {
         }
       }
 
-      $entity->panelizer[$panelizer_item->getName()] = $panelizer_item;
-
+      $langcode = $this->languageManager->getCurrentLanguage(LanguageInterface::TYPE_CONTENT)->getId();
+      if ($entity->language()->getId() != $langcode) {
+        $translated_value = $entity->getTranslation($langcode)->toArray();
+        $translated_value['panelizer'][$panelizer_item->getName()] = $panelizer_item->getValue();
+        if ($entity->hasTranslation($langcode)) {
+          $entity->removeTranslation($langcode);
+        }
+        $entity->addTranslation($langcode, $translated_value);
+      }
+      else {
+        $entity->panelizer[$panelizer_item->getName()] = $panelizer_item;
+      }
       $entity->save();
     }
     else {
