diff --git a/core/modules/image/config/schema/image.data_types.schema.yml b/core/modules/image/config/schema/image.data_types.schema.yml
index 60a35c2..33a902b 100644
--- a/core/modules/image/config/schema/image.data_types.schema.yml
+++ b/core/modules/image/config/schema/image.data_types.schema.yml
@@ -13,8 +13,8 @@ image_size:
 field_default_image:
   type: mapping
   mapping:
-    fid:
-      type: integer
+    uuid:
+      type: string
       label: 'Image'
     alt:
       type: label
diff --git a/core/modules/image/image.module b/core/modules/image/image.module
index f1faacb..cee9383 100644
--- a/core/modules/image/image.module
+++ b/core/modules/image/image.module
@@ -340,18 +340,18 @@ function image_entity_presave(EntityInterface $entity) {
     return;
   }
 
-  $fid = $entity->settings['default_image']['fid'];
-  if ($fid) {
-    $original_fid = isset($entity->original) ? $entity->original->settings['default_image']['fid'] : NULL;
-    if ($fid != $original_fid) {
-      $file = file_load($fid);
+  $uuid = $entity->settings['default_image']['uuid'];
+  if ($uuid) {
+    $original_fid = isset($entity->original) ? $entity->original->settings['default_image']['uuid'] : NULL;
+    if ($uuid != $original_fid) {
+      $file = \Drupal::entityManager()->loadEntityByUuid('file', $uuid);
       if ($file) {
         $image = \Drupal::service('image.factory')->get($file->getFileUri());
         $entity->settings['default_image']['width'] = $image->getWidth();
         $entity->settings['default_image']['height'] = $image->getHeight();
       }
       else {
-        $entity->settings['default_image']['fid'] = NULL;
+        $entity->settings['default_image']['uuid'] = NULL;
       }
     }
   }
@@ -371,12 +371,12 @@ function image_field_storage_config_update(FieldStorageConfigInterface $field_st
   $prior_field_storage = $field_storage->original;
 
   // The value of a managed_file element can be an array if #extended == TRUE.
-  $fid_new = $field_storage->settings['default_image']['fid'];
-  $fid_old = $prior_field_storage->settings['default_image']['fid'];
+  $uuid_new = $field_storage->settings['default_image']['uuid'];
+  $uuid_old = $prior_field_storage->settings['default_image']['uuid'];
 
-  $file_new = $fid_new ? file_load($fid_new) : FALSE;
+  $file_new = $uuid_new ? \Drupal::entityManager()->loadEntityByUuid('file', $uuid_new) : FALSE;
 
-  if ($fid_new != $fid_old) {
+  if ($uuid_new != $uuid_old) {
 
     // Is there a new file?
     if ($file_new) {
@@ -386,7 +386,7 @@ function image_field_storage_config_update(FieldStorageConfigInterface $field_st
     }
 
     // Is there an old file?
-    if ($fid_old && ($file_old = file_load($fid_old))) {
+    if ($uuid_old && ($file_old = \Drupal::entityManager()->loadEntityByUuid('file', $uuid_old))) {
       \Drupal::service('file.usage')->delete($file_old, 'image', 'default_image', $field_storage->uuid());
     }
   }
@@ -411,12 +411,12 @@ function image_field_config_update(FieldConfigInterface $field) {
 
   $prior_instance = $field->original;
 
-  $fid_new = $field->settings['default_image']['fid'];
-  $fid_old = $prior_instance->settings['default_image']['fid'];
+  $uuid_new = $field->settings['default_image']['uuid'];
+  $uuid_old = $prior_instance->settings['default_image']['uuid'];
 
   // If the old and new files do not match, update the default accordingly.
-  $file_new = $fid_new ? file_load($fid_new) : FALSE;
-  if ($fid_new != $fid_old) {
+  $file_new = $uuid_new ? \Drupal::entityManager()->loadEntityByUuid('file', $uuid_new) : FALSE;
+  if ($uuid_new != $uuid_old) {
     // Save the new file, if present.
     if ($file_new) {
       $file_new->status = FILE_STATUS_PERMANENT;
@@ -424,7 +424,7 @@ function image_field_config_update(FieldConfigInterface $field) {
       \Drupal::service('file.usage')->add($file_new, 'image', 'default_image', $field->uuid());
     }
     // Delete the old file, if present.
-    if ($fid_old && ($file_old = file_load($fid_old))) {
+    if ($uuid_old && ($file_old = \Drupal::entityManager()->loadEntityByUuid('file', $uuid_old))) {
       \Drupal::service('file.usage')->delete($file_old, 'image', 'default_image', $field->uuid());
     }
   }
@@ -447,8 +447,8 @@ function image_field_storage_config_delete(FieldStorageConfigInterface $field) {
   }
 
   // The value of a managed_file element can be an array if #extended == TRUE.
-  $fid = $field->settings['default_image']['fid'];
-  if ($fid && ($file = file_load($fid))) {
+  $uuid = $field->settings['default_image']['uuid'];
+  if ($uuid && ($file = \Drupal::entityManager()->loadEntityByUuid('file', $uuid))) {
     \Drupal::service('file.usage')->delete($file, 'image', 'default_image', $field->uuid());
   }
 }
@@ -464,10 +464,10 @@ function image_field_config_delete(FieldConfigInterface $field) {
   }
 
   // The value of a managed_file element can be an array if #extended == TRUE.
-  $fid = $field->settings['default_image']['fid'];
+  $uuid = $field->settings['default_image']['uuid'];
 
   // Remove the default image when the instance is deleted.
-  if ($fid && ($file = file_load($fid))) {
+  if ($uuid && ($file = \Drupal::entityManager()->loadEntityByUuid('file', $uuid))) {
     \Drupal::service('file.usage')->delete($file, 'image', 'default_image', $field->uuid());
   }
 }
diff --git a/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatterBase.php b/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatterBase.php
index 62bef76..a78d2db 100644
--- a/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatterBase.php
+++ b/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatterBase.php
@@ -28,11 +28,11 @@ public function prepareView(array $entities_items) {
         $default_image = $this->getFieldSetting('default_image');
         // If we are dealing with a configurable field, look in both
         // instance-level and field-level settings.
-        if (empty($default_image['fid']) && $this->fieldDefinition instanceof FieldConfigInterface) {
+        if (empty($default_image['uuid']) && $this->fieldDefinition instanceof FieldConfigInterface) {
           $default_image = $this->fieldDefinition->getFieldStorageDefinition()->getSetting('default_image');
         }
 
-        if (!empty($default_image['fid']) && ($file = file_load($default_image['fid']))) {
+        if (!empty($default_image['uuid']) && ($file = \Drupal::entityManager()->loadEntityByUuid('file', $default_image['uuid']))) {
           $items->setValue(array(array(
             'is_default' => TRUE,
             'alt' => $default_image['alt'],
diff --git a/core/modules/image/src/Plugin/Field/FieldType/ImageItem.php b/core/modules/image/src/Plugin/Field/FieldType/ImageItem.php
index 6d1c149..a6df521 100644
--- a/core/modules/image/src/Plugin/Field/FieldType/ImageItem.php
+++ b/core/modules/image/src/Plugin/Field/FieldType/ImageItem.php
@@ -48,12 +48,19 @@
 class ImageItem extends FileItem {
 
   /**
+   * The entity manager.
+   *
+   * @var \Drupal\Core\Entity\EntityManagerInterface
+   */
+  protected $entityManager;
+
+  /**
    * {@inheritdoc}
    */
   public static function defaultStorageSettings() {
     return array(
       'default_image' => array(
-        'fid' => NULL,
+        'uuid' => NULL,
         'alt' => '',
         'title' => '',
         'width' => NULL,
@@ -75,7 +82,7 @@ public static function defaultFieldSettings() {
       'max_resolution' => '',
       'min_resolution' => '',
       'default_image' => array(
-        'fid' => NULL,
+        'uuid' => NULL,
         'alt' => '',
         'title' => '',
         'width' => NULL,
@@ -400,11 +407,16 @@ protected function defaultImageForm(array &$element, array $settings) {
       '#title' => t('Default image'),
       '#open' => TRUE,
     );
-    $element['default_image']['fid'] = array(
+    // Convert the stored UUID to a FID.
+    $fids = [];
+    if ($file = $this->getEntityManager()->loadEntityByUuid('file', $settings['default_image']['uuid'])) {
+      $fids[0] = $file->id();
+    }
+    $element['default_image']['uuid'] = array(
       '#type' => 'managed_file',
       '#title' => t('Image'),
       '#description' => t('Image to be shown if no image is uploaded.'),
-      '#default_value' => empty($settings['default_image']['fid']) ? array() : array($settings['default_image']['fid']),
+      '#default_value' => $fids,
       '#upload_location' => $settings['uri_scheme'] . '://default_images/',
       '#element_validate' => array(
         '\Drupal\file\Element\ManagedFile::validateManagedFile',
@@ -453,9 +465,13 @@ public static function validateDefaultImageForm(array &$element, FormStateInterf
     // for default image is not TRUE and this is a single value.
     if (isset($element['fids']['#value'][0])) {
       $value = $element['fids']['#value'][0];
+      // Convert the file ID to a uuid.
+      if ($file = \Drupal::entityManager()->getStorage('file')->load($value)) {
+        $value = $file->uuid();
+      }
     }
     else {
-      $value = 0;
+      $value = '';
     }
     $form_state->setValueForElement($element, $value);
   }
@@ -468,4 +484,16 @@ public function isDisplayed() {
     return TRUE;
   }
 
+  /**
+   * Gets the entity manager.
+   *
+   * @return \Drupal\Core\Entity\EntityManagerInterface.
+   */
+  protected function getEntityManager() {
+    if (!isset($this->entityManager)) {
+      $this->entityManager = \Drupal::entityManager();
+    }
+    return $this->entityManager;
+  }
+
 }
diff --git a/core/modules/image/src/Plugin/Field/FieldWidget/ImageWidget.php b/core/modules/image/src/Plugin/Field/FieldWidget/ImageWidget.php
index eb3a0b4..7b16bd2 100644
--- a/core/modules/image/src/Plugin/Field/FieldWidget/ImageWidget.php
+++ b/core/modules/image/src/Plugin/Field/FieldWidget/ImageWidget.php
@@ -138,9 +138,13 @@ public function formElement(FieldItemListInterface $items, $delta, array $elemen
 
     // Default image.
     $default_image = $field_settings['default_image'];
-    if (empty($default_image['fid'])) {
+    if (empty($default_image['uuid'])) {
       $default_image = $this->fieldDefinition->getFieldStorageDefinition()->getSetting('default_image');
     }
+    // Convert the stored UUID into a file ID.
+    if (!empty($default_image['uuid']) && $entity = \Drupal::entityManager()->loadEntityByUuid('file', $default_image['uuid'])) {
+      $default_image['fid'] = $entity->id();
+    }
     $element['#default_image'] = !empty($default_image['fid']) ? $default_image : array();
 
     return $element;
diff --git a/core/modules/image/src/Tests/ImageFieldDefaultImagesTest.php b/core/modules/image/src/Tests/ImageFieldDefaultImagesTest.php
index c5dd44d..a546590 100644
--- a/core/modules/image/src/Tests/ImageFieldDefaultImagesTest.php
+++ b/core/modules/image/src/Tests/ImageFieldDefaultImagesTest.php
@@ -48,14 +48,14 @@ public function testDefaultImages() {
     // Create an image field and add an field to the article content type.
     $field_name = strtolower($this->randomMachineName());
     $storage_settings['default_image'] = array(
-      'fid' => $default_images['field']->id(),
+      'uuid' => $default_images['field']->uuid(),
       'alt' => '',
       'title' => '',
       'width' => 0,
       'height' => 0,
     );
     $field_settings['default_image'] = array(
-      'fid' => $default_images['field']->id(),
+      'uuid' => $default_images['field']->uuid(),
       'alt' => '',
       'title' => '',
       'width' => 0,
@@ -67,18 +67,18 @@ public function testDefaultImages() {
     $field = $this->createImageField($field_name, 'article', $storage_settings, $field_settings, $widget_settings);
 
     // The field default image id should be 2.
-    $this->assertEqual($field->getSetting('default_image')['fid'], $default_images['field']->id());
+    $this->assertEqual($field->getSetting('default_image')['uuid'], $default_images['field']->uuid());
 
     // Also test \Drupal\field\Entity\FieldConfig::getSetting().
-    $this->assertEqual($field->getSettings()['default_image']['fid'], $default_images['field']->id());
+    $this->assertEqual($field->getSettings()['default_image']['uuid'], $default_images['field']->uuid());
 
     $field_storage = $field->getFieldStorageDefinition();
 
     // The field default image id should be 1.
-    $this->assertEqual($field_storage->getSetting('default_image')['fid'], $default_images['field']->id());
+    $this->assertEqual($field_storage->getSetting('default_image')['uuid'], $default_images['field']->uuid());
 
     // Also test \Drupal\field\Entity\FieldStorageConfig::getSettings().
-    $this->assertEqual($field_storage->getSettings()['default_image']['fid'], $default_images['field']->id());
+    $this->assertEqual($field_storage->getSettings()['default_image']['uuid'], $default_images['field']->uuid());
 
     // Add another field with another default image to the page content type.
     $field2 = entity_create('field_config', array(
@@ -88,7 +88,7 @@ public function testDefaultImages() {
       'required' => $field->required,
       'settings' => array(
         'default_image' => array(
-          'fid' => $default_images['field2']->id(),
+          'uuid' => $default_images['field2']->uuid(),
           'alt' => '',
           'title' => '',
           'width' => 0,
@@ -110,7 +110,7 @@ public function testDefaultImages() {
     $field_id = $field->id();
     $this->drupalGet("admin/structure/types/manage/article/fields/$field_id/storage");
     $this->assertFieldByXpath(
-      '//input[@name="field_storage[settings][default_image][fid][fids]"]',
+      '//input[@name="field_storage[settings][default_image][uuid][fids]"]',
       $default_images['field']->id(),
       format_string(
         'Article image field default equals expected file ID of @fid.',
@@ -120,7 +120,7 @@ public function testDefaultImages() {
     // Confirm the defaults are present on the article field edit form.
     $this->drupalGet("admin/structure/types/manage/article/fields/$field_id");
     $this->assertFieldByXpath(
-      '//input[@name="field[settings][default_image][fid][fids]"]',
+      '//input[@name="field[settings][default_image][uuid][fids]"]',
       $default_images['field']->id(),
       format_string(
         'Article image field field default equals expected file ID of @fid.',
@@ -131,7 +131,7 @@ public function testDefaultImages() {
     // Confirm the defaults are present on the page field settings form.
     $this->drupalGet("admin/structure/types/manage/page/fields/$field_id/storage");
     $this->assertFieldByXpath(
-      '//input[@name="field_storage[settings][default_image][fid][fids]"]',
+      '//input[@name="field_storage[settings][default_image][uuid][fids]"]',
       $default_images['field']->id(),
       format_string(
         'Page image field default equals expected file ID of @fid.',
@@ -142,7 +142,7 @@ public function testDefaultImages() {
     $field2_id = $field2->id();
     $this->drupalGet("admin/structure/types/manage/page/fields/$field2_id");
     $this->assertFieldByXpath(
-      '//input[@name="field[settings][default_image][fid][fids]"]',
+      '//input[@name="field[settings][default_image][uuid][fids]"]',
       $default_images['field2']->id(),
       format_string(
         'Page image field field default equals expected file ID of @fid.',
@@ -175,13 +175,13 @@ public function testDefaultImages() {
     );
 
     // Upload a new default for the field storage.
-    $field_storage->settings['default_image']['fid'] = $default_images['field_new']->id();
+    $field_storage->settings['default_image']['uuid'] = $default_images['field_new']->uuid();
     $field_storage->save();
 
     // Confirm that the new default is used on the article field settings form.
     $this->drupalGet("admin/structure/types/manage/article/fields/$field_id/storage");
     $this->assertFieldByXpath(
-      '//input[@name="field_storage[settings][default_image][fid][fids]"]',
+      '//input[@name="field_storage[settings][default_image][uuid][fids]"]',
       $default_images['field_new']->id(),
       format_string(
         'Updated image field default equals expected file ID of @fid.',
@@ -211,14 +211,14 @@ public function testDefaultImages() {
     );
 
     // Upload a new default for the article's field field.
-    $field->settings['default_image']['fid'] = $default_images['field_new']->id();
+    $field->settings['default_image']['uuid'] = $default_images['field_new']->uuid();
     $field->save();
 
     // Confirm the new field field default is used on the article field
     // admin form.
     $this->drupalGet("admin/structure/types/manage/article/fields/$field_id");
     $this->assertFieldByXpath(
-      '//input[@name="field[settings][default_image][fid][fids]"]',
+      '//input[@name="field[settings][default_image][uuid][fids]"]',
       $default_images['field_new']->id(),
       format_string(
         'Updated article image field field default equals expected file ID of @fid.',
@@ -256,13 +256,13 @@ public function testDefaultImages() {
     $this->assertRaw($file->getFilename());
 
     // Remove the instance default from articles.
-    $field->settings['default_image']['fid'] = 0;
+    $field->settings['default_image']['uuid'] = 0;
     $field->save();
 
     // Confirm the article field field default has been removed.
     $this->drupalGet("admin/structure/types/manage/article/fields/$field_id");
     $this->assertFieldByXpath(
-      '//input[@name="field[settings][default_image][fid][fids]"]',
+      '//input[@name="field[settings][default_image][uuid][fids]"]',
       '',
       'Updated article image field field default has been successfully removed.'
     );
@@ -291,7 +291,7 @@ public function testDefaultImages() {
     );
 
     $non_image = $this->drupalGetTestFiles('text');
-    $this->drupalPostForm(NULL, array('files[field_settings_default_image_fid]' => drupal_realpath($non_image[0]->uri)), t("Upload"));
+    $this->drupalPostForm(NULL, array('files[field_settings_default_image_uuid]' => drupal_realpath($non_image[0]->uri)), t("Upload"));
     $this->assertText(t('The specified file text-0.txt could not be uploaded. Only files with the following extensions are allowed: png gif jpg jpeg.'), 'Non-image file cannot be used as default image.');
 
     // Confirm the default image is shown on the node form.
@@ -310,14 +310,14 @@ public function testInvalidDefaultImage() {
       'type' => 'image',
       'settings' => array(
         'default_image' => array(
-          'fid' => 100000,
+          'uuid' => 100000,
         )
       ),
     ));
     $field_storage->save();
     $settings = $field_storage->getSettings();
     // The non-existent default image should not be saved.
-    $this->assertNull($settings['default_image']['fid']);
+    $this->assertNull($settings['default_image']['uuid']);
 
     $field = entity_create('field_config',  array(
       'field_storage' => $field_storage,
@@ -325,14 +325,14 @@ public function testInvalidDefaultImage() {
       'label' => $this->randomMachineName(),
       'settings' => array(
         'default_image' => array(
-          'fid' => 100000,
+          'uuid' => 100000,
         )
       ),
     ));
     $field->save();
     $settings = $field->getSettings();
     // The non-existent default image should not be saved.
-    $this->assertNull($settings['default_image']['fid']);
+    $this->assertNull($settings['default_image']['uuid']);
   }
 
 }
diff --git a/core/profiles/standard/config/install/field.field.node.article.field_image.yml b/core/profiles/standard/config/install/field.field.node.article.field_image.yml
index fc6a482..f4b1734 100644
--- a/core/profiles/standard/config/install/field.field.node.article.field_image.yml
+++ b/core/profiles/standard/config/install/field.field.node.article.field_image.yml
@@ -18,7 +18,7 @@ settings:
   alt_field_required: false
   title_field_required: false
   default_image:
-    fid: null
+    uuid: null
     alt: ''
     title: ''
     width: null
diff --git a/core/profiles/standard/config/install/field.field.user.user.user_picture.yml b/core/profiles/standard/config/install/field.field.user.user.user_picture.yml
index a2c4faf..e1d8b64 100644
--- a/core/profiles/standard/config/install/field.field.user.user.user_picture.yml
+++ b/core/profiles/standard/config/install/field.field.user.user.user_picture.yml
@@ -18,7 +18,7 @@ settings:
   max_resolution: 85x85
   min_resolution: ''
   default_image:
-    fid: null
+    uuid: null
     alt: ''
     title: ''
     width: null
diff --git a/core/profiles/standard/config/install/field.storage.node.field_image.yml b/core/profiles/standard/config/install/field.storage.node.field_image.yml
index 2e98e52..eb40f37 100644
--- a/core/profiles/standard/config/install/field.storage.node.field_image.yml
+++ b/core/profiles/standard/config/install/field.storage.node.field_image.yml
@@ -6,7 +6,7 @@ module: image
 settings:
   uri_scheme: public
   default_image:
-    fid: null
+    uuid: null
     alt: ''
     title: ''
     width: null
diff --git a/core/profiles/standard/config/install/field.storage.user.user_picture.yml b/core/profiles/standard/config/install/field.storage.user.user_picture.yml
index e4d4960..8d741b7 100644
--- a/core/profiles/standard/config/install/field.storage.user.user_picture.yml
+++ b/core/profiles/standard/config/install/field.storage.user.user_picture.yml
@@ -7,7 +7,7 @@ type: image
 settings:
   uri_scheme: public
   default_image:
-    fid: null
+    uuid: null
     alt: ''
     title: ''
     width: null
