There's a bug in the BundleSupport.getBundle(String basename, Locale pref) method, where it tests if the available Locale has a country code. The current code performs the test like this: if (pref.getLanguage().equals(avail.getLanguage()) && (avail.getCountry() == null)) But Locale.getCountry() never returns null; it returns the empty string if no country is specified. Changing the test like this solves the problem: if (pref.getLanguage().equals(avail.getLanguage()) && ("".equals(avail.getCountry())))