diff --git a/dynamic_entity_reference.post_update.php b/dynamic_entity_reference.post_update.php
new file mode 100644
index 0000000..0e208b6
--- /dev/null
+++ b/dynamic_entity_reference.post_update.php
@@ -0,0 +1,24 @@
+<?php
+
+/**
+ * @file
+ * Post update functions for dynamic entity reference.
+ */
+
+use Drupal\field\Entity\FieldStorageConfig;
+
+/**
+ * Only add dependencies to reference-able entity types in DER field storage.
+ */
+function dynamic_entity_reference_post_update_field_storage_dependencies() {
+  /** @var \Drupal\Core\Entity\EntityFieldManager $entity_field_manager */
+  $entity_field_manager = Drupal::service('entity_field.manager');
+  $map = $entity_field_manager->getFieldMapByFieldType('dynamic_entity_reference');
+  foreach ($map as $entity_type_id => $info) {
+    foreach ($info as $name => $data) {
+      $field_storage = FieldStorageConfig::loadByName($entity_type_id, $name);
+      // Re-saving the storage object will fix the dependencies.
+      $field_storage->save();
+    }
+  }
+}
diff --git a/src/Plugin/Field/FieldType/DynamicEntityReferenceItem.php b/src/Plugin/Field/FieldType/DynamicEntityReferenceItem.php
index 388092b..485f6f2 100644
--- a/src/Plugin/Field/FieldType/DynamicEntityReferenceItem.php
+++ b/src/Plugin/Field/FieldType/DynamicEntityReferenceItem.php
@@ -564,7 +564,7 @@ class DynamicEntityReferenceItem extends EntityReferenceItem {
   public static function calculateStorageDependencies(FieldStorageDefinitionInterface $field_definition) {
     $dependencies = FieldItemBase::calculateStorageDependencies($field_definition);
     $entity_manager = \Drupal::entityTypeManager();
-    foreach (array_keys(static::defaultFieldSettings()) as $entity_type_id) {
+    foreach (static::getTargetTypes($field_definition->getSettings()) as $entity_type_id) {
       if ($entity_manager->hasDefinition($entity_type_id) && $target_entity_type = $entity_manager->getDefinition($entity_type_id)) {
         $dependencies['module'][] = $target_entity_type->getProvider();
       }
