diff --git a/modules/wsdata_field/wsdata_field.module b/modules/wsdata_field/wsdata_field.module
index 7cb926c197ffdba86660c1c1d6a65d25e8f65c77..0eab123229d0a83cbbf1b185991f8444546e4c47 100644
--- a/modules/wsdata_field/wsdata_field.module
+++ b/modules/wsdata_field/wsdata_field.module
@@ -51,8 +51,8 @@ function wsdata_field_entity_delete(Drupal\Core\Entity\EntityInterface $entity)
  * Implements hook_entity_load().
  */
 function wsdata_field_entity_load(array $entities, $entity_type_id) {
-  if ('node' == $entity_type_id) {
-    foreach ($entities as $entity) {
+  foreach ($entities as $entity) {
+    if ($entity instanceof \Drupal\Core\Entity\ContentEntityInterface) {
       // Fetch the field definitions for the this node.
       $fields = $entity->getFieldDefinitions();
       foreach ($fields as $field) {
@@ -68,7 +68,7 @@ function wsdata_field_entity_load(array $entities, $entity_type_id) {
               $replacements = is_array($wsfield_config->replacements) ? $wsfield_config->replacements : [];
 
               $wsdata  = \Drupal::service('wsdata');
-              $result = $wsdata->call($wsfield_config->wscall, NULL, $replacements, $wsfield_config->data, array(), $wsfield_config->returnToken, array('node' => $entity));
+              $result = $wsdata->call($wsfield_config->wscall, NULL, $replacements, $wsfield_config->data, array(), $wsfield_config->returnToken, array($entity_type_id => $entity));
               // Set the field with the wsdata results.
               $entity->set($field_storage->get('field_name'), $result);
             }