diff --git a/core/modules/file/file.install b/core/modules/file/file.install
index 3ca855e..ad3efe9 100644
--- a/core/modules/file/file.install
+++ b/core/modules/file/file.install
@@ -234,6 +234,18 @@ function file_requirements($phase) {
 }
 
 /**
+ * Implements hook_update_dependencies().
+ */
+function file_update_dependencies() {
+  // Convert the format of the 'default_image' setting after fields and
+  // instances have been moved to the config system.
+  $dependencies['file'][8002] = array(
+    'field' => 8003,
+  );
+  return $dependencies;
+}
+
+/**
 * Converts default_file_main variable to config.
 *
 * @ingroup config_upgrade
@@ -264,27 +276,32 @@ function file_update_8001() {
 * Convert image field's default image configuration to the new format.
 */
 function file_update_8002() {
-  if (module_exists('field_sql_storage')) {
-    $fields = field_read_fields(array('type' => 'image'), array('include_deleted' => TRUE, 'include_inactive' => TRUE));
-    foreach ($fields as $field) {
-      if (!empty($field['settings']['default_image'])) {
-        $field['settings']['default_image'] = array($field['settings']['default_image']);
+  $field_uuids = array();
+
+  foreach (config_get_storage_names_with_prefix('field.field.') as $config_name) {
+    $field_config = config($config_name)->get();
+    if ($field_config['type'] == 'image') {
+      $field_uuids[] = $field_config['uuid'];
+      if (!empty($field_config['settings']['default_image'])) {
+        $field_config['settings']['default_image'] = array($field_config['settings']['default_image']);
       }
       else {
-        $field['settings']['default_image'] = array();
+        $field_config['settings']['default_image'] = array();
       }
-      field_update_field($field);
+      $field_config->save();
+    }
+  }
 
-      $instances = field_read_instances(array('field_name' => $field['field_name']));
-      foreach ($instances as $instance) {
-        if (!empty($instance['settings']['default_image'])) {
-          $instance['settings']['default_image'] = array($instance['settings']['default_image']);
-        }
-        else {
-          $instance['settings']['default_image'] = array();
-        }
-        field_update_instance($instance);
+  foreach (config_get_storage_names_with_prefix('field.instance.') as $config_name) {
+    $instance_config = config($config_name)->get();
+    if (in_array($instance_config['field_uuid'], $field_uuids)) {
+      if (!empty($instance_config['settings']['default_image'])) {
+        $instance_config['settings']['default_image'] = array($instance_config['settings']['default_image']);
+      }
+      else {
+        $instance_config['settings']['default_image'] = array();
       }
+      $instance_config->save();
     }
   }
 }
