diff --git a/src/org/apache/xalan/transformer/TrAXFilter.java b/src/org/apache/xalan/transformer/TrAXFilter.java
index 5d2efef..94ae26c 100644
--- a/src/org/apache/xalan/transformer/TrAXFilter.java
+++ b/src/org/apache/xalan/transformer/TrAXFilter.java
@@ -108,8 +108,10 @@
       {
         parent.setFeature("http://xml.org/sax/features/namespace-prefixes",
                           true);
-        parent.setFeature("http://apache.org/xml/features/validation/dynamic",
-                          true);
+        // Commented out as per discussion with Thomas2.Maesing@bgs-ag.de 
+        // about bug 2124.
+//        parent.setFeature("http://apache.org/xml/features/validation/dynamic",
+//                          true);
       }
       catch (org.xml.sax.SAXException se){}
       // setParent calls setupParse...
diff --git a/src/org/apache/xalan/transformer/TransformerIdentityImpl.java b/src/org/apache/xalan/transformer/TransformerIdentityImpl.java
index 38e6a38..b8e1a78 100644
--- a/src/org/apache/xalan/transformer/TransformerIdentityImpl.java
+++ b/src/org/apache/xalan/transformer/TransformerIdentityImpl.java
@@ -400,9 +400,11 @@
         {
           reader.setFeature("http://xml.org/sax/features/namespace-prefixes",
                             true);
-          if(!isUserReader)
-            reader.setFeature("http://apache.org/xml/features/validation/dynamic",
-                              true);
+        // Commented out as per discussion with Thomas2.Maesing@bgs-ag.de 
+        // about bug 2124.
+//          if(!isUserReader)
+//            reader.setFeature("http://apache.org/xml/features/validation/dynamic",
+//                              true);
         }
         catch (org.xml.sax.SAXException se)
         {
diff --git a/src/org/apache/xml/dtm/ref/DTMManagerDefault.java b/src/org/apache/xml/dtm/ref/DTMManagerDefault.java
index c5736fe..a9002bb 100644
--- a/src/org/apache/xml/dtm/ref/DTMManagerDefault.java
+++ b/src/org/apache/xml/dtm/ref/DTMManagerDefault.java
@@ -187,10 +187,10 @@
 
       addDTM(dtm, dtmPos);
 
-      if (DUMPTREE)
-      {
-        dtm.dumpDTM();
-      }
+//      if (DUMPTREE)
+//      {
+//        dtm.dumpDTM();
+//      }
 
       return dtm;
     }
@@ -518,20 +518,22 @@
         // TODO: User diagnostics.
       }
 
-      if(!isUserReader)
-      {
-        try
-        {
-          reader.setFeature("http://apache.org/xml/features/validation/dynamic",
-                            true);
-        }
-        catch (org.xml.sax.SAXException se)
-        {
-  
-          // What can we do?
-          // TODO: User diagnostics.
-        }
-      }
+        // Commented out as per discussion with Thomas2.Maesing@bgs-ag.de 
+        // about bug 2124.
+//      if(!isUserReader)
+//      {
+//        try
+//        {
+//          reader.setFeature("http://apache.org/xml/features/validation/dynamic",
+//                            true);
+//        }
+//        catch (org.xml.sax.SAXException se)
+//        {
+//  
+//          // What can we do?
+//          // TODO: User diagnostics.
+//        }
+//      }
 
       return reader;
     }
diff --git a/src/org/apache/xpath/SourceTreeManager.java b/src/org/apache/xpath/SourceTreeManager.java
index 842fa78..197b61c 100644
--- a/src/org/apache/xpath/SourceTreeManager.java
+++ b/src/org/apache/xpath/SourceTreeManager.java
@@ -411,9 +411,11 @@
       {
         reader.setFeature("http://xml.org/sax/features/namespace-prefixes",
                           true);
-        if(!isUserReader)
-          reader.setFeature("http://apache.org/xml/features/validation/dynamic",
-                            true);
+        // Commented out as per discussion with Thomas2.Maesing@bgs-ag.de 
+        // about bug 2124.
+//        if(!isUserReader)
+//          reader.setFeature("http://apache.org/xml/features/validation/dynamic",
+//                            true);
       }
       catch (org.xml.sax.SAXException se)
       {
