diff --git a/src/xercesc/dom/impl/DOMDocumentTypeImpl.cpp b/src/xercesc/dom/impl/DOMDocumentTypeImpl.cpp
index b7919f215496f1a53d9978880f730fc943bbb3a8..60a0535fa6c1664f9be742092540a0bd8d434d54 100644
--- a/src/xercesc/dom/impl/DOMDocumentTypeImpl.cpp
+++ b/src/xercesc/dom/impl/DOMDocumentTypeImpl.cpp
@@ -314,7 +314,11 @@ const XMLCh * DOMDocumentTypeImpl::getSystemId() const
 
 const XMLCh * DOMDocumentTypeImpl::getInternalSubset() const
 {
-    return internalSubset.getRawBuffer();
+    const XMLCh* subset = internalSubset.getRawBuffer();
+    if (!XMLString::stringLen(subset))
+        return 0;
+    else
+        return subset;
 }
 
 bool DOMDocumentTypeImpl::isIntSubsetReading() const