From 2c694c2d2fd0b4f140bdfc3717bf3a17f172b5fc Mon Sep 17 00:00:00 2001
From: Hendrik Grahl <hendrik.grahl@namics.com>
Date: Thu, 25 Aug 2016 16:03:16 +0200
Subject: [PATCH] Fix for 2787187

---
 .../file/src/Plugin/Field/FieldType/FileFieldItemList.php      | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/core/modules/file/src/Plugin/Field/FieldType/FileFieldItemList.php b/core/modules/file/src/Plugin/Field/FieldType/FileFieldItemList.php
index 3d064af..0cd4734 100644
--- a/core/modules/file/src/Plugin/Field/FieldType/FileFieldItemList.php
+++ b/core/modules/file/src/Plugin/Field/FieldType/FileFieldItemList.php
@@ -81,9 +81,15 @@ public function delete() {
     parent::delete();
     $entity = $this->getEntity();
 
-    // Delete all file usages within this entity.
+    // Delete all file usages within this entity if it's the source.
     foreach ($this->referencedEntities() as $file) {
-      \Drupal::service('file.usage')->delete($file, 'file', $entity->getEntityTypeId(), $entity->id(), 0);
+      $langcode = $this->getLangcode();
+      $original = $entity->getUntranslated();
+      if ($original->hasTranslation($langcode)) {
+        \Drupal::service('file.usage')->delete($file, 'file', $entity->getEntityTypeId(), $entity->id(), 1);
+      } else {
+        \Drupal::service('file.usage')->delete($file, 'file', $entity->getEntityTypeId(), $entity->id(), 0);
+      }
     }
   }
 
-- 
2.7.3

