Index: tika-core/src/main/java/org/apache/tika/config/TikaConfig.java
===================================================================
--- tika-core/src/main/java/org/apache/tika/config/TikaConfig.java	(revision 1693422)
+++ tika-core/src/main/java/org/apache/tika/config/TikaConfig.java	(working copy)
@@ -35,6 +35,7 @@
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
 
+import org.apache.tika.config.ServiceLoader;
 import org.apache.tika.detect.CompositeDetector;
 import org.apache.tika.detect.DefaultDetector;
 import org.apache.tika.detect.Detector;
@@ -369,6 +370,7 @@
             Element parserNode, MimeTypes mimeTypes, ServiceLoader loader)
             throws TikaException, IOException {
         String name = parserNode.getAttribute("class");
+        boolean dynamic = Boolean.parseBoolean(parserNode.getAttribute("dynamic"));
         Parser parser = null;
 
         try {
@@ -413,7 +415,7 @@
                 if (parser == null) {
                     try {
                         c = parserClass.getConstructor(MediaTypeRegistry.class, ServiceLoader.class, Collection.class);
-                        parser = c.newInstance(registry, loader, excludeParsers);
+                        parser = c.newInstance(registry, new ServiceLoader(loader.getContextClassLoader(), loader.getLoadErrorHandler(), dynamic), excludeParsers);
                     } 
                     catch (NoSuchMethodException me) {}
                 }
Index: tika-core/src/test/java/org/apache/tika/config/DummyParser.java
===================================================================
--- tika-core/src/test/java/org/apache/tika/config/DummyParser.java	(revision 0)
+++ tika-core/src/test/java/org/apache/tika/config/DummyParser.java	(working copy)
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.tika.config;
+
+import java.util.Collection;
+
+import org.apache.tika.mime.MediaTypeRegistry;
+import org.apache.tika.parser.CompositeParser;
+import org.apache.tika.parser.Parser;
+
+public class DummyParser extends CompositeParser implements Parser {
+
+    private ServiceLoader loader;
+
+    public DummyParser(MediaTypeRegistry registry, ServiceLoader loader,
+            Collection<Class<? extends Parser>> excludeParsers) {
+        this.loader = loader;
+    }
+
+    public ServiceLoader getLoader() {
+        return loader;
+    }
+}
Index: tika-core/src/test/java/org/apache/tika/config/TikaConfigTest.java
===================================================================
--- tika-core/src/test/java/org/apache/tika/config/TikaConfigTest.java	(revision 1693422)
+++ tika-core/src/test/java/org/apache/tika/config/TikaConfigTest.java	(working copy)
@@ -16,6 +16,7 @@
  */
 package org.apache.tika.config;
 
+import java.lang.reflect.Field;
 import java.net.URL;
 import java.util.List;
 import java.util.Map;
@@ -212,4 +213,20 @@
             System.clearProperty("tika.config");
         }
     }
+    
+    @Test
+    public void testDynamicServiceLoaderFromConfig() throws Exception {
+        URL url = TikaConfigTest.class.getResource("TIKA-1700-dynamic.xml");
+        TikaConfig config = new TikaConfig(url);
+        
+        DummyParser parser = (DummyParser)config.getParser();
+
+        ServiceLoader loader = parser.getLoader();
+        
+        Field dynamicField = loader.getClass().getDeclaredField("dynamic");
+        dynamicField.setAccessible(true);
+        Boolean dynamicValue = (Boolean)dynamicField.get(loader);   
+
+        assertTrue("Dynamic Service Loading Should be true", dynamicValue);
+    }
 }
\ No newline at end of file
Index: tika-core/src/test/resources/org/apache/tika/config/TIKA-1700-dynamic.xml
===================================================================
--- tika-core/src/test/resources/org/apache/tika/config/TIKA-1700-dynamic.xml	(revision 0)
+++ tika-core/src/test/resources/org/apache/tika/config/TIKA-1700-dynamic.xml	(working copy)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+
+<properties>
+
+  <parsers>
+
+    <parser class="org.apache.tika.config.DummyParser" dynamic="true"/>
+
+  </parsers>
+
+</properties>
\ No newline at end of file
