diff --git a/paragraphs_clean.module b/paragraphs_clean.module
index 06806de..7e6eded 100644
--- a/paragraphs_clean.module
+++ b/paragraphs_clean.module
@@ -3,12 +3,25 @@
 use Drupal\Core\Entity\EntityInterface;
   
 function paragraphs_clean_entity_presave(EntityInterface $entity) {
-  // See if there are any paragraph fields on this entity.
-  /** @var \Drupal\Core\Field\FieldDefinitionInterface[] **/
-  $field_definitions = \Drupal::service('entity_field.manager')
-    ->getFieldDefinitions($entity->getEntityTypeId(), $entity->bundle());
+  /** @var \Drupal\Core\Entity\EntityFieldManager $fieldManager */
+  $fieldManager = \Drupal::service('entity_field.manager');
+  $parentEntities = $fieldManager->getFieldMapByFieldType('entity_reference_revisions');
+
+  if (!array_key_exists($entity->getEntityTypeId(), $parentEntities)) {
+    return;
+  }
+
+  $field_definitions = [];
+  foreach ($parentEntities[$entity->getEntityTypeId()] as $field_id => $settings) {
+    $field_definitions[] = FieldConfig::loadByName($entity->getEntityTypeId(), $entity->bundle(), $field_id);
+  }
+
+  if (empty($field_definitions)){
+    return;
+  }
+
   foreach ($field_definitions as $field_definition) {
-    if ($field_definition->getType() == 'entity_reference_revisions' && $field_definition->getSetting('target_type') == 'paragraph') {
+    if ($field_definition->getSetting('target_type') == 'paragraph') {
       // Compare new data with original data.
       // If new entity has removed the paragraph value, delete the paragraph.
       $ids = array();
