diff --git a/tika-core/src/main/java/org/apache/tika/config/TikaConfig.java b/tika-core/src/main/java/org/apache/tika/config/TikaConfig.java
index 1bb4b95..f41ed9b 100644
--- a/tika-core/src/main/java/org/apache/tika/config/TikaConfig.java
+++ b/tika-core/src/main/java/org/apache/tika/config/TikaConfig.java
@@ -159,6 +159,8 @@ public class TikaConfig {
      */
     public TikaConfig(ClassLoader loader)
             throws MimeTypeException, IOException {
+		if(loader == null)
+			loader=ClassLoader.getSystemClassLoader();
         ParseContext context = new ParseContext();
         Iterator<Parser> iterator =
             ServiceRegistry.lookupProviders(Parser.class, loader);
diff --git a/tika-core/src/main/java/org/apache/tika/mime/MimeTypesReader.java b/tika-core/src/main/java/org/apache/tika/mime/MimeTypesReader.java
index 4a8b455..3fa62a7 100644
--- a/tika-core/src/main/java/org/apache/tika/mime/MimeTypesReader.java
+++ b/tika-core/src/main/java/org/apache/tika/mime/MimeTypesReader.java
@@ -100,7 +100,10 @@ final class MimeTypesReader implements MimeTypesReaderMetKeys {
     }
 
     void read(String filepath) throws IOException, MimeTypeException {
-        read(MimeTypesReader.class.getClassLoader().getResourceAsStream(filepath));
+		ClassLoader cl = MimeTypesReader.class.getClassLoader();
+		if(cl == null)
+			cl = ClassLoader.getSystemClassLoader();
+        read(cl.getResourceAsStream(filepath));
     }
 
     void read(InputStream stream) throws IOException, MimeTypeException {
