diff --git a/src/xercesc/dom/impl/DOMDocumentTypeImpl.cpp b/src/xercesc/dom/impl/DOMDocumentTypeImpl.cpp
index a7118fc9ad73958fbe77ece3f5f7b4b36e6e7e2a..fd8449ef611b354d2706839a54f71380ac7cb691 100644
--- a/src/xercesc/dom/impl/DOMDocumentTypeImpl.cpp
+++ b/src/xercesc/dom/impl/DOMDocumentTypeImpl.cpp
@@ -240,9 +240,9 @@ DOMDocumentTypeImpl::DOMDocumentTypeImpl(const DOMDocumentTypeImpl &other, bool
     if ((DOMDocumentImpl *)this->fNode.getOwnerDocument() && deep)
         fParent.cloneChildren(&other);
 
-    fEntities = ((DOMNamedNodeMapImpl *)other.fEntities)->cloneMap(this);
-    fNotations= ((DOMNamedNodeMapImpl *)other.fNotations)->cloneMap(this);
-    fElements = ((DOMNamedNodeMapImpl *)other.fElements)->cloneMap(this);
+    fEntities = other.fEntities->cloneMap(this);
+    fNotations= other.fNotations->cloneMap(this);
+    fElements = other.fElements->cloneMap(this);
 }
 
 
@@ -285,9 +285,9 @@ void DOMDocumentTypeImpl::setOwnerDocument(DOMDocument *doc) {
             fNode.setOwnerDocument(doc);
             fParent.setOwnerDocument(doc);
 
-            DOMNamedNodeMap* entitiesTemp = ((DOMNamedNodeMapImpl *)fEntities)->cloneMap(this);
-            DOMNamedNodeMap* notationsTemp = ((DOMNamedNodeMapImpl *)fNotations)->cloneMap(this);
-            DOMNamedNodeMap* elementsTemp = ((DOMNamedNodeMapImpl *)fElements)->cloneMap(this);
+            DOMNamedNodeMapImpl* entitiesTemp = fEntities->cloneMap(this);
+            DOMNamedNodeMapImpl* notationsTemp = fNotations->cloneMap(this);
+            DOMNamedNodeMapImpl* elementsTemp = fElements->cloneMap(this);
 
             fEntities = entitiesTemp;
             fNotations = notationsTemp;
@@ -342,9 +342,9 @@ void DOMDocumentTypeImpl::setReadOnly(bool readOnl, bool deep)
 {
     fNode.setReadOnly(readOnl,deep);
     if (fEntities)
-        ((DOMNamedNodeMapImpl *)fEntities)->setReadOnly(readOnl,true);
+        fEntities->setReadOnly(readOnl,true);
     if (fNotations)
-        ((DOMNamedNodeMapImpl *)fNotations)->setReadOnly(readOnl,true);
+        fNotations->setReadOnly(readOnl,true);
 }
 
 
diff --git a/src/xercesc/dom/impl/DOMDocumentTypeImpl.hpp b/src/xercesc/dom/impl/DOMDocumentTypeImpl.hpp
index b27a9dbaeea89844ba7c47864872bcf2fb30ca1a..9bd9662b2632857af58de88b2bc3c0bcf6bfbd17 100644
--- a/src/xercesc/dom/impl/DOMDocumentTypeImpl.hpp
+++ b/src/xercesc/dom/impl/DOMDocumentTypeImpl.hpp
@@ -81,7 +81,7 @@
 XERCES_CPP_NAMESPACE_BEGIN
 
 
-class NamedNodeMapImpl;
+class DOMNamedNodeMapImpl;
 
 class CDOM_EXPORT DOMDocumentTypeImpl: public DOMDocumentType {
 private:
@@ -91,21 +91,21 @@ private:
 
 
 
-    const XMLCh *       fName;
-    DOMNamedNodeMap*    fEntities;
-    DOMNamedNodeMap*    fNotations;
-    DOMNamedNodeMap*    fElements;
-    const XMLCh *       fPublicId;
-    const XMLCh *       fSystemId;
-    const XMLCh *       fInternalSubset;
+    const XMLCh *        fName;
+    DOMNamedNodeMapImpl* fEntities;
+    DOMNamedNodeMapImpl* fNotations;
+    DOMNamedNodeMapImpl* fElements;
+    const XMLCh *        fPublicId;
+    const XMLCh *        fSystemId;
+    const XMLCh *        fInternalSubset;
 
-    bool			    fIntSubsetReading;
-    bool                fIsCreatedFromHeap;
+    bool			     fIntSubsetReading;
+    bool                 fIsCreatedFromHeap;
 
-    virtual void        setPublicId(const XMLCh * value);
-    virtual void        setSystemId(const XMLCh * value);
-    virtual void        setInternalSubset(const XMLCh *value);
-    bool                isIntSubsetReading() const;
+    virtual void         setPublicId(const XMLCh * value);
+    virtual void         setSystemId(const XMLCh * value);
+    virtual void         setInternalSubset(const XMLCh *value);
+    bool                 isIntSubsetReading() const;
 
     friend class AbstractDOMParser;