diff --git a/external_entities.module b/external_entities.module
index 809d13bd9c276d5b1a4e502dfb9ee9eb2ab27b49..7d70d3bbabceab6577820ccda5ceb28d46c7e4ba 100644
--- a/external_entities.module
+++ b/external_entities.module
@@ -259,8 +259,14 @@ function external_entities_form_field_storage_config_edit_form_alter(&$form, For
   if (!empty($form['cardinality_container']['#element_validate'])) {
     $entity_type = \Drupal::entityTypeManager()->getDefinition($form_state->get('entity_type_id'));
     if ($entity_type && $entity_type->getProvider() === 'external_entities') {
-      $key = array_search('::validateCardinality', $form['cardinality_container']['#element_validate']);
-      if ($key !== FALSE) {
+      foreach ($form['cardinality_container']['#element_validate'] as $i => $callback) {
+        if ((is_string($callback) && $callback == '::validateCardinality')
+          || (is_array($callback) && $callback[1] == 'validateCardinality')) {
+          $key = $i;
+          break;
+        }
+      }
+      if (isset($key)) {
         $form['cardinality_container']['#element_validate'][$key] = 'external_entities_field_storage_config_edit_form_validate_cardinality';
       }
     }