Index: /FCKeditor.Java/branches/2.4.x/java-core/src/main/java/net/fckeditor/handlers/PropertiesLoader.java
===================================================================
--- /FCKeditor.Java/branches/2.4.x/java-core/src/main/java/net/fckeditor/handlers/PropertiesLoader.java	(revision 2533)
+++ /FCKeditor.Java/branches/2.4.x/java-core/src/main/java/net/fckeditor/handlers/PropertiesLoader.java	(revision 2534)
@@ -22,5 +22,4 @@
 
 import java.io.BufferedInputStream;
-import java.io.IOException;
 import java.io.InputStream;
 import java.util.Properties;
@@ -51,26 +50,49 @@
 
 	static {
-		try {
-			// 1. load library defaults
-			properties.load(new BufferedInputStream(PropertiesLoader.class
-			        .getResourceAsStream("default.properties")));
 
-			// 2. load user defaults
-			InputStream in = PropertiesLoader.class.getResourceAsStream("/fckeditor.properties");
-			if (in == null)
-				logger.warn("Can't find fckeditor.properties!");
-			else {
-				try {
-					properties.load(new BufferedInputStream(in));
-					logger.info("fckeditor.properties loaded successfully!");
-				} catch (IOException e) {
-					logger.error("Error while loading fckeditor.properties!", e);
-					throw new RuntimeException("Can't load fckeditor.properties!", e);
-				}
+		// 1. load library defaults
+		InputStream in = PropertiesLoader.class
+				.getResourceAsStream("default.properties");
+
+		if (in == null) {
+			logger.error("default.properties not found");
+			throw new RuntimeException("default.properties not found");
+		} else {
+			if (!(in instanceof BufferedInputStream))
+				in = new BufferedInputStream(in);
+
+			try {
+				properties.load(in);
+				in.close();
+				logger.debug("default.properties loaded");
+			} catch (Exception e) {
+				logger.error("Error while processing default.properties");
+				throw new RuntimeException(
+						"Error while processing default.properties", e);
 			}
-		} catch (IOException e) {
-			logger.error("Error while loading default.properties!", e);
-			throw new RuntimeException("Can't load default.properties!", e);
 		}
+
+		// 2. load user defaults if present
+		InputStream in2 = PropertiesLoader.class
+				.getResourceAsStream("/fckeditor.properties");
+
+		if (in2 == null) {
+			logger.info("fckeditor.properties not found");
+		} else {
+
+			if (!(in2 instanceof BufferedInputStream))
+				in2 = new BufferedInputStream(in2);
+
+			try {
+				properties.load(in2);
+				in2.close();
+				logger.debug("fckeditor.properties loaded");
+			} catch (Exception e) {
+				logger.error("Error while processing fckeditor.properties");
+				throw new RuntimeException(
+						"Error while processing fckeditor.properties", e);
+			}
+
+		}		
 	}
 
