diff --git a/languagefield.views.inc b/languagefield.views.inc
index e253f4b3499be36e4dbafd4c3a12783ed8dbb0c1..8ccd950d779b475cf434d451186acfcea63d53db 100644
--- a/languagefield.views.inc
+++ b/languagefield.views.inc
@@ -13,7 +13,11 @@ use Drupal\field\FieldStorageConfigInterface;
  * Implements hook_field_views_data().
  */
 function languagefield_field_views_data(FieldStorageConfigInterface $field_storage): array {
-  $data = views_field_default_views_data($field_storage);
+  $data = (version_compare(\Drupal::VERSION, '11.2') >= 0)
+    ? \Drupal::service('views.field_data_provider')
+      ->defaultFieldImplementation($field_storage)
+    : views_field_default_views_data($field_storage);
+
   foreach ($data as $table_name => $table_data) {
     $data[$table_name][$field_storage->getName() . '_value']['filter']['id'] = 'languagefield';
   }