diff --git a/entityreference_filter.views.inc b/entityreference_filter.views.inc
index d93529bb76ea84b406a23b071524c227e3fd387d..22590beeabe0beb5c73bbd16b200e98c15940b2c 100644
--- a/entityreference_filter.views.inc
+++ b/entityreference_filter.views.inc
@@ -12,7 +12,6 @@ use Drupal\field\Entity\FieldStorageConfig;
  * Implements hook_views_data_alter().
  */
 function entityreference_filter_views_data_alter(array &$data) {
-
   // Apply to entity reference fields, nid, uid, tid, gid and commerce
   // variations.
   foreach ($data as $table_name => $table_info) {
@@ -42,13 +41,21 @@ function entityreference_filter_views_data_alter(array &$data) {
           $target_entity_type = 'commerce_product';
         }
       }
-      // Other entityreference fields.
-      elseif (!empty($field_info['filter']['field_name']) && !empty($field_info['filter']['entity_type']) && mb_substr($field_name, -10) === '_target_id') {
-        $entity_type = $field_info['filter']['entity_type'];
-        $entity_field_name = $field_info['filter']['field_name'];
-        $field_storage_config = FieldStorageConfig::loadByName($entity_type, $entity_field_name);
-        if (!is_null($field_storage_config)) {
-          $target_entity_type = $field_storage_config->getSetting('target_type');
+
+      // Check for other entity reference fields.
+      // This check is separate from the previous conditions to handle cases
+      // where an outer condition is met but not an inner one.
+      // For example, when dealing with entity reference fields on commerce
+      // products that don't match the specific inner commerce
+      // product\variations conditions above.
+      if (!$target_entity_type) {
+        if (!empty($field_info['filter']['field_name']) && !empty($field_info['filter']['entity_type']) && mb_substr($field_name, -10) === '_target_id') {
+          $entity_type = $field_info['filter']['entity_type'];
+          $entity_field_name = $field_info['filter']['field_name'];
+          $field_storage_config = FieldStorageConfig::loadByName($entity_type, $entity_field_name);
+          if (!is_null($field_storage_config)) {
+            $target_entity_type = $field_storage_config->getSetting('target_type');
+          }
         }
       }