diff --git a/lib/src/easy_localization_controller.dart b/lib/src/easy_localization_controller.dart
index 6707aa41..58b57994 100644
--- a/lib/src/easy_localization_controller.dart
+++ b/lib/src/easy_localization_controller.dart
@@ -87,19 +87,7 @@ class EasyLocalizationController extends ChangeNotifier {
       data = await loadTranslationData(_locale);
       _translations = Translations(data);
       if (useFallbackTranslations && _fallbackLocale != null) {
-        Map<String, dynamic>? baseLangData;
-        if (_locale.countryCode != null && _locale.countryCode!.isNotEmpty) {
-          baseLangData =
-              await loadBaseLangTranslationData(Locale(locale.languageCode));
-        }
         data = await loadTranslationData(_fallbackLocale!);
-        if (baseLangData != null) {
-          try {
-            data.addAll(baseLangData);
-          } on UnsupportedError {
-            data = Map.of(data)..addAll(baseLangData);
-          }
-        }
         _fallbackTranslations = Translations(data);
       }
     } on FlutterError catch (e) {
diff --git a/lib/src/localization.dart b/lib/src/localization.dart
index dc5fa224..a0d614a1 100644
--- a/lib/src/localization.dart
+++ b/lib/src/localization.dart
@@ -175,19 +175,19 @@ class Localization {
   }
 
   String _resolvePlural(String key, String subKey) {
-    if (subKey == 'other') return _resolve('$key.other');
+    if (subKey == 'other') return _resolve('$key.other', fallback: true);
 
     final tag = '$key.$subKey';
-    var resource = _resolve(tag, logging: false, fallback: false);
+    var resource = _resolve(tag, logging: false, fallback: true);
     if (resource == tag) {
-      resource = _resolve('$key.other');
+      resource = _resolve('$key.other', fallback: true);
     }
     return resource;
   }
 
   String _resolve(String key, {bool logging = true, bool fallback = true}) {
     var resource = _translations?.get(key);
-    if (resource == null) {
+    if (resource == null || resource.isEmpty) {
       if (logging) {
         EasyLocalization.logger.warning('Localization key [$key] not found');
       }
@@ -195,7 +195,7 @@ class Localization {
         return key;
       } else {
         resource = _fallbackTranslations?.get(key);
-        if (resource == null) {
+        if (resource == null || resource.isEmpty) {
           if (logging) {
             EasyLocalization.logger
                 .warning('Fallback localization key [$key] not found');