diff --git a/src/DataDynamicReferenceDefinition.php b/src/DataDynamicReferenceDefinition.php
index 837d2df..ffd3013 100644
--- a/src/DataDynamicReferenceDefinition.php
+++ b/src/DataDynamicReferenceDefinition.php
@@ -34,4 +34,14 @@ class DataDynamicReferenceDefinition extends DataReferenceDefinition {
     return $definition->setTargetDefinition(\Drupal::typedDataManager()->createDataDefinition($target_data_type));
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getTargetDefinition($relationship_specifier = NULL) {
+    if (preg_match('/^entity[^a-z0-9_]+([a-z0-9_]+)/', $relationship_specifier, $matches)) {
+      $this->targetDefinition->setEntityTypeId($matches[1]);
+    }
+      return parent::getTargetDefinition();
+  }
+
 }
