diff --git a/modules/select2_bef/src/Plugin/views/exposed_form/BetterExposedFilters.php b/modules/select2_bef/src/Plugin/views/exposed_form/BetterExposedFilters.php
index ecec23b..761dce3 100644
--- a/modules/select2_bef/src/Plugin/views/exposed_form/BetterExposedFilters.php
+++ b/modules/select2_bef/src/Plugin/views/exposed_form/BetterExposedFilters.php
@@ -280,17 +280,17 @@ class BetterExposedFilters extends BetterExposedFiltersOrigin {
    *   Field's type.
    */
   protected function getFieldType($name) {
-    if (stripos($name, '_target_id') !== FALSE) {
-      $name = static::convertDatabaseFieldToFieldname($name);
+    $entity_type = $this->view->getBaseEntityType();
+    if (!empty($entity_type)) {
+      $entity_type = $entity_type->id();
+      /** @var \Drupal\Core\Field\FieldDefinitionInterface $field_definition */
+      $field_definition = \Drupal::service('entity_field.manager')
+        ->getFieldStorageDefinitions($entity_type)[$name];
+      return $field_definition->getType();
     }
-    elseif (stripos($name, '_value') !== FALSE) {
-      $name = str_replace('_value', '', $name);
+    else {
+      return 'textfield';
     }
-    $entity_type = $this->view->getBaseEntityType()->id();
-    /** @var \Drupal\Core\Field\FieldDefinitionInterface $field_definition */
-    $field_definition = \Drupal::service('entity_field.manager')
-      ->getFieldStorageDefinitions($entity_type)[$name];
-    return $field_definition->getType();
   }
 
   /**
