diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php
index 5b4688f..1ce3d7c 100644
--- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php
+++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php
@@ -341,7 +341,7 @@ public function preSave(EntityStorageInterface $storage) {
         throw new ConfigDuplicateUUIDException("Attempt to save a configuration entity '{$this->id()}' with UUID '{$this->uuid()}' when this entity already exists with UUID '{$original->uuid()}'");
       }
     }
-    if (!$this->isSyncing() && !$this->trustedData) {
+    if (!$this->isSyncing()) {
       // Ensure the correct dependencies are present. If the configuration is
       // being written during a configuration synchronization then there is no
       // need to recalculate the dependencies.
diff --git a/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/EntityReferenceItem.php b/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/EntityReferenceItem.php
index 5904d35..2d170a4 100644
--- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/EntityReferenceItem.php
+++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/EntityReferenceItem.php
@@ -301,8 +301,11 @@ public function hasNewEntity() {
    */
   public static function calculateDependencies(FieldDefinitionInterface $field_definition) {
     $dependencies = [];
+
+    $target_entity_type = \Drupal::entityManager()->getDefinition($field_definition->getFieldStorageDefinition()->getSetting('target_type'));
+    $dependencies['module'][] = $target_entity_type->getProvider();
+
     if ($default_value = $field_definition->getDefaultValueLiteral()) {
-      $target_entity_type = \Drupal::entityManager()->getDefinition($field_definition->getFieldStorageDefinition()->getSetting('target_type'));
       foreach ($default_value as $value) {
         if (is_array($value) && isset($value['target_uuid'])) {
           $entity = \Drupal::entityManager()->loadEntityByUuid($target_entity_type->id(), $value['target_uuid']);
diff --git a/core/modules/aggregator/config/install/core.entity_view_display.aggregator_item.aggregator_item.summary.yml b/core/modules/aggregator/config/install/core.entity_view_display.aggregator_item.aggregator_item.summary.yml
index 39536e4..837bee0 100644
--- a/core/modules/aggregator/config/install/core.entity_view_display.aggregator_item.aggregator_item.summary.yml
+++ b/core/modules/aggregator/config/install/core.entity_view_display.aggregator_item.aggregator_item.summary.yml
@@ -5,7 +5,6 @@ dependencies:
     - core.entity_view_mode.aggregator_item.summary
   module:
     - aggregator
-    - entity_reference
 id: aggregator_item.aggregator_item.summary
 targetEntityType: aggregator_item
 bundle: aggregator_item
diff --git a/core/modules/book/config/install/core.entity_form_display.node.book.default.yml b/core/modules/book/config/install/core.entity_form_display.node.book.default.yml
index 7c2144d..1ec4eb1 100644
--- a/core/modules/book/config/install/core.entity_form_display.node.book.default.yml
+++ b/core/modules/book/config/install/core.entity_form_display.node.book.default.yml
@@ -5,7 +5,6 @@ dependencies:
     - field.field.node.book.body
     - node.type.book
   module:
-    - entity_reference
     - text
 id: node.book.default
 targetEntityType: node
diff --git a/core/modules/config/src/Tests/ConfigInstallTest.php b/core/modules/config/src/Tests/ConfigInstallTest.php
index 2d09548..7358e65 100644
--- a/core/modules/config/src/Tests/ConfigInstallTest.php
+++ b/core/modules/config/src/Tests/ConfigInstallTest.php
@@ -211,7 +211,11 @@ public function testDependencyChecking() {
     }
     $this->installModules(['config_other_module_config_test']);
     $this->installModules(['config_install_dependency_test']);
-    $this->assertTrue(entity_load('config_test', 'other_module_test_with_dependency'), 'The config_test.dynamic.other_module_test_with_dependency configuration has been created during install.');
+    $entity = \Drupal::entityManager()->getStorage('config_test')->load('other_module_test_with_dependency');
+    $this->assertTrue($entity, 'The config_test.dynamic.other_module_test_with_dependency configuration has been created during install.');
+    // Ensure that dependencies can be added during module installation by
+    // hooks.
+    $this->assertIdentical('config_install_dependency_test', $entity->getDependencies()['module'][0]);
   }
 
   /**
diff --git a/core/modules/config/tests/config_install_dependency_test/config_install_dependency_test.module b/core/modules/config/tests/config_install_dependency_test/config_install_dependency_test.module
new file mode 100644
index 0000000..08a1697
--- /dev/null
+++ b/core/modules/config/tests/config_install_dependency_test/config_install_dependency_test.module
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * @file
+ * Provides hook implementations for testing purposes.
+ */
+
+/**
+ * Implements hook_ENTITY_TYPE_create.
+ */
+function config_install_dependency_test_config_test_create(\Drupal\Core\Entity\EntityInterface $entity) {
+  // Add an enforced dependency on this module so that we can test if this is
+  // possible during module installation.
+  $entity->setEnforcedDependencies(['module' => ['config_install_dependency_test']]);
+}
diff --git a/core/modules/forum/config/install/core.entity_form_display.node.forum.default.yml b/core/modules/forum/config/install/core.entity_form_display.node.forum.default.yml
index d4e7c4d..c66ba23 100644
--- a/core/modules/forum/config/install/core.entity_form_display.node.forum.default.yml
+++ b/core/modules/forum/config/install/core.entity_form_display.node.forum.default.yml
@@ -8,7 +8,6 @@ dependencies:
     - node.type.forum
   module:
     - comment
-    - entity_reference
     - text
 id: node.forum.default
 targetEntityType: node
diff --git a/core/modules/forum/config/install/core.entity_view_display.node.forum.default.yml b/core/modules/forum/config/install/core.entity_view_display.node.forum.default.yml
index 69fdb79..39389a5 100644
--- a/core/modules/forum/config/install/core.entity_view_display.node.forum.default.yml
+++ b/core/modules/forum/config/install/core.entity_view_display.node.forum.default.yml
@@ -8,7 +8,6 @@ dependencies:
     - node.type.forum
   module:
     - comment
-    - taxonomy
     - text
     - user
 id: node.forum.default
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 15285d6..56eb46c 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
@@ -5,6 +5,7 @@ dependencies:
     - field.storage.node.field_image
     - node.type.article
   module:
+    - file
     - image
 id: node.article.field_image
 field_name: field_image
diff --git a/core/profiles/standard/config/install/field.field.node.article.field_tags.yml b/core/profiles/standard/config/install/field.field.node.article.field_tags.yml
index 77eb70c..5bb0833 100644
--- a/core/profiles/standard/config/install/field.field.node.article.field_tags.yml
+++ b/core/profiles/standard/config/install/field.field.node.article.field_tags.yml
@@ -6,6 +6,7 @@ dependencies:
     - node.type.article
   module:
     - entity_reference
+    - taxonomy
 id: node.article.field_tags
 field_name: field_tags
 entity_type: node
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 2672650..838a81c 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
@@ -4,6 +4,7 @@ dependencies:
   config:
     - field.storage.user.user_picture
   module:
+    - file
     - image
     - user
 id: user.user.user_picture
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 ad719e4..4045512 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
@@ -2,8 +2,8 @@ langcode: en
 status: true
 dependencies:
   module:
-    - node
     - image
+    - node
 id: node.field_image
 field_name: field_image
 entity_type: node
diff --git a/core/profiles/standard/config/install/field.storage.node.field_tags.yml b/core/profiles/standard/config/install/field.storage.node.field_tags.yml
index ca20381..8ef5452 100644
--- a/core/profiles/standard/config/install/field.storage.node.field_tags.yml
+++ b/core/profiles/standard/config/install/field.storage.node.field_tags.yml
@@ -2,8 +2,8 @@ langcode: en
 status: true
 dependencies:
   module:
+    - entity_reference
     - node
-    - taxonomy
 id: node.field_tags
 field_name: field_tags
 entity_type: node
