diff --git a/README.md b/README.md
index 39717a6..b97c840 100644
--- a/README.md
+++ b/README.md
@@ -41,7 +41,7 @@ For lists 1 widget is provided:
  * **Select2 boxes**: an autocomplete list field.
    * Limited visibility of search box by minimum list length
    * Flags icons (language, languagefield, country).
-     Requires module **Flags** and an appropriate sub-module to be enabled.
+     Requires module **Flags** to be enabled.
 
 #### Address:
 For address field there is only provided a configuration option inside the deafult widget.
diff --git a/select2boxes.module b/select2boxes.module
index 28858c8..46f38ea 100644
--- a/select2boxes.module
+++ b/select2boxes.module
@@ -155,9 +155,9 @@ function select2boxes_field_widget_settings_summary_alter(&$summary, $context) {
     }
   }
   elseif ($widget->getPluginId() == 'select2boxes_autocomplete_list' || $widget->getPluginId() == 'select2boxes_autocomplete_single') {
-    /** @var \Drupal\field\Entity\FieldConfig $setting */
-    $setting = $context['field_definition'];
-    $setting = $setting->getSetting('handler_settings');
+    /** @var \Drupal\field\Entity\FieldConfig $definition */
+    $definition = $context['field_definition'];
+    $setting    = $definition->getSetting('handler_settings');
     if (!$setting['auto_create']) {
       if (!empty($settings) && $settings['limited_search'] == '1') {
         $summary[] = t('Minimum list length for search box visibility: @length', ['@length' => $settings['minimum_search_length']]);
@@ -166,11 +166,16 @@ function select2boxes_field_widget_settings_summary_alter(&$summary, $context) {
         $summary[] = t('Minimum list length for search box visibility disabled');
       }
     }
-    if ($settings['enable_flags'] == '1') {
-      $summary[] = t('Flags icons enabled');
-    }
-    else {
-      $summary[] = t('Flags icons disabled');
+    $flag_types = ['language_field', 'language', 'country'];
+    if (in_array($definition->getType(), $flag_types)
+      && \Drupal::moduleHandler()->moduleExists('flags')
+    ) {
+      if ($settings['enable_flags'] == '1') {
+        $summary[] = t('Flags icons enabled');
+      }
+      else {
+        $summary[] = t('Flags icons disabled');
+      }
     }
   }
   elseif (in_array($widget->getPluginId(), _select2boxes_address_widgets_list())) {
diff --git a/src/Plugin/Field/FieldWidget/Select2BoxesAutocompleteListWidget.php b/src/Plugin/Field/FieldWidget/Select2BoxesAutocompleteListWidget.php
index 1426437..db3e5f1 100644
--- a/src/Plugin/Field/FieldWidget/Select2BoxesAutocompleteListWidget.php
+++ b/src/Plugin/Field/FieldWidget/Select2BoxesAutocompleteListWidget.php
@@ -2,9 +2,11 @@
 
 namespace Drupal\select2boxes\Plugin\Field\FieldWidget;
 
+use Drupal\Core\Entity\EntityInterface;
 use Drupal\Core\Field\FieldItemListInterface;
 use Drupal\Core\Field\Plugin\Field\FieldWidget\OptionsSelectWidget;
 use Drupal\Core\Form\FormStateInterface;
+use Drupal\Core\Language\LanguageInterface;
 use Drupal\select2boxes\MinSearchLengthTrait;
 
 /**
@@ -31,17 +33,6 @@ class Select2BoxesAutocompleteListWidget extends OptionsSelectWidget {
   use MinSearchLengthTrait;
 
   /**
-   * Flags module's sub-modules list.
-   *
-   * @var array
-   */
-  protected static $flagsSubModules = [
-    'flags_country',
-    'flags_language',
-    'flags_languagefield',
-  ];
-
-  /**
    * {@inheritdoc}
    */
   public function formElement(FieldItemListInterface $items, $delta, array $element, array &$form, FormStateInterface $form_state) {
@@ -112,35 +103,26 @@ class Select2BoxesAutocompleteListWidget extends OptionsSelectWidget {
       && in_array($this->fieldDefinition->getType(), $types)
       && $this->getThirdPartySetting('select2boxes', 'enable_flags') == '1'
     ) {
-      // Enable flags only if at least one of the Flags sub-modules enabled.
-      $flag = FALSE;
-      foreach (static::$flagsSubModules as $module) {
-        if (\Drupal::moduleHandler()->moduleExists($module)) {
-          $flag = TRUE; break;
-        }
+      // Create a map of country or language dependent classes.
+      $flags = [];
+      $mapper = $this->fieldDefinition->getType() == 'country'
+        ? \Drupal::service('flags.mapping.country')
+        : \Drupal::service('flags.mapping.language');
+      foreach (array_keys($element['#options']) as $key) {
+        $flags[$key] = [
+          'flag',
+          'flag-' . $mapper->map($key),
+          $mapper->getExtraClasses()[0],
+        ];
       }
-      if ($flag) {
-        // Create a map of country or language dependent classes.
-        $flags = [];
-        $mapper = $this->fieldDefinition->getType() == 'country'
-          ? \Drupal::service('flags.mapping.country')
-          : \Drupal::service('flags.mapping.language');
-        foreach (array_keys($element['#options']) as $key) {
-          $flags[$key] = [
-            'flag',
-            'flag-' . $mapper->map($key),
-            $mapper->getExtraClasses()[0],
-          ];
-        }
-        // Merge these values to have all countries
-        // and languages flags in the same place to prevent missing flags icons.
-        if (!isset($element['#attached']['drupalSettings']['flagsClasses'])) {
-          $element['#attached']['drupalSettings']['flagsClasses'] = [];
-        }
-        $element['#attached']['drupalSettings']['flagsClasses'] += $flags;
-        $element['#attached']['drupalSettings']['flagsFields'][$this->fieldDefinition->getName()] = TRUE;
-        $element['#attached']['library'][] = 'flags/flags';
+      // Merge these values to have all countries
+      // and languages flags in the same place to prevent missing flags icons.
+      if (!isset($element['#attached']['drupalSettings']['flagsClasses'])) {
+        $element['#attached']['drupalSettings']['flagsClasses'] = [];
       }
+      $element['#attached']['drupalSettings']['flagsClasses'] += $flags;
+      $element['#attached']['drupalSettings']['flagsFields'][$this->fieldDefinition->getName()] = TRUE;
+      $element['#attached']['library'][] = 'flags/flags';
     }
   }
 
