diff --git a/src/xercesc/dom/impl/DOMTypeInfoImpl.cpp b/src/xercesc/dom/impl/DOMTypeInfoImpl.cpp
index f687568eeee80b20c5f6ad9b76c6d62533e7da18..d67162b311a316df565a7838572e6b84af625068 100644
--- a/src/xercesc/dom/impl/DOMTypeInfoImpl.cpp
+++ b/src/xercesc/dom/impl/DOMTypeInfoImpl.cpp
@@ -61,8 +61,8 @@
 XERCES_CPP_NAMESPACE_BEGIN
 
 DOMTypeInfoImpl::DOMTypeInfoImpl(const XMLCh* n, const XMLCh* nURI, DOMDocumentImpl *impl) {
-    name = impl->getPooledString(n);
-    namespaceURI = impl->getPooledString(nURI);
+    name = n?impl->getPooledString(n):n;
+    namespaceURI = nURI?impl->getPooledString(nURI):nURI;
 }
 
 DOMTypeInfoImpl::DOMTypeInfoImpl() : name(0), namespaceURI(0) {}
diff --git a/src/xercesc/internal/DGXMLScanner.cpp b/src/xercesc/internal/DGXMLScanner.cpp
index 19bc879fd2c55ee3379988e924b596a9f8980421..dd50c5db658cf4dabf9b7aa8f0844e41a2892df6 100644
--- a/src/xercesc/internal/DGXMLScanner.cpp
+++ b/src/xercesc/internal/DGXMLScanner.cpp
@@ -759,7 +759,7 @@ void DGXMLScanner::scanEndTag(bool& gotData)
                 : XMLUni::fgZeroLenString
         );
         // pass back type name information
-        fDocHandler->elementTypeInfo(XMLUni::fgZeroLenString, XMLUni::fgZeroLenString); 
+        fDocHandler->elementTypeInfo(0, 0); 
     }
 
     // If this was the root, then done with content
@@ -1594,7 +1594,7 @@ bool DGXMLScanner::scanStartTag(bool& gotData)
                                   : XMLUni::fgZeroLenString
             );
             // pass back type name information
-            fDocHandler->elementTypeInfo(XMLUni::fgZeroLenString, XMLUni::fgZeroLenString); 
+            fDocHandler->elementTypeInfo(0, 0); 
         }
 
         // Pop the element stack back off since it'll never be used now
diff --git a/src/xercesc/internal/IGXMLScanner.cpp b/src/xercesc/internal/IGXMLScanner.cpp
index 1450765568da06a06fa846b2b132a66d45fad66c..480b37591d557f411ac0e4f8cefbeeb243d8c2ba 100644
--- a/src/xercesc/internal/IGXMLScanner.cpp
+++ b/src/xercesc/internal/IGXMLScanner.cpp
@@ -1254,7 +1254,7 @@ void IGXMLScanner::scanEndTag(bool& gotData)
         }
         else 
         {
-            fDocHandler->elementTypeInfo(XMLUni::fgZeroLenString, XMLUni::fgZeroLenString); 
+            fDocHandler->elementTypeInfo(0, 0); 
         }
     }
 
@@ -3033,7 +3033,7 @@ bool IGXMLScanner::scanStartTagNS(bool& gotData)
             }
             else 
             {
-                fDocHandler->elementTypeInfo(XMLUni::fgZeroLenString, XMLUni::fgZeroLenString); 
+                fDocHandler->elementTypeInfo(0, 0); 
             }
         }