Index: /FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/handlers/LocalizedPropertiesLoader.java
===================================================================
--- /FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/handlers/LocalizedPropertiesLoader.java	(revision 2641)
+++ /FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/handlers/LocalizedPropertiesLoader.java	(revision 2642)
@@ -40,12 +40,14 @@
  * strings if anything fails. Loaded strings will be cached on load.
  * 
- * @version $Id$
+ * @version $Id: LocalizedPropertiesLoader.java 2630 2008-11-05 21:30:52Z
+ *          mosipov $
  * 
  */
 public class LocalizedPropertiesLoader implements Cloneable {
 
-	private static Map<Locale, LocalizedPropertiesLoader> localizedProps = new HashMap<Locale, LocalizedPropertiesLoader>();
+	private static Map<Locale, LocalizedPropertiesLoader> prototypes = new HashMap<Locale, LocalizedPropertiesLoader>();
 	private Properties properties;
 	private static LocaleResolver localeResolver;
+	private static final Locale NEUTRAL = new Locale("");
 	private static final Logger logger = LoggerFactory
 			.getLogger(LocalizedPropertiesLoader.class);
@@ -64,17 +66,18 @@
 
 		if (request == null)
-			locale = Locale.getDefault();
+			locale = NEUTRAL;
 		else
 			locale = getLocaleResolverInstance().resolveLocale(request);
 
 		if (locale == null)
-			locale = Locale.getDefault();
+			locale = NEUTRAL;
 
-		LocalizedPropertiesLoader lpl = localizedProps.get(locale);
+		LocalizedPropertiesLoader lpl = prototypes.get(locale);
 		if (lpl == null) {
 			lpl = new LocalizedPropertiesLoader(locale);
-			localizedProps.put(locale, lpl);
+			prototypes.put(locale, lpl);
 		}
 
+		// TODO what would be the benefit of (non-)cloning?
 		return (LocalizedPropertiesLoader) lpl.clone();
 
@@ -115,5 +118,6 @@
 
 	/**
-	 * Loads the default strings and the string for the given locale.
+	 * Loads the default strings and the string for the given locale and only
+	 * for this locale.
 	 * 
 	 * @param locale
@@ -132,5 +136,6 @@
 		this.properties = new Properties(PropertiesLoader.getProperties());
 
-		if (rb != null) {
+		if (rb != null
+				&& rb.getLocale().getLanguage().equals(locale.getLanguage())) {
 			Enumeration<String> keys = rb.getKeys();
 
