diff --git a/src/xercesc/internal/ReaderMgr.cpp b/src/xercesc/internal/ReaderMgr.cpp
index 421bdc71186ec64914e5c5a324a8bde1740783db..dbc17840d9a16434ae9b54665b2f3d5b0f077a77 100644
--- a/src/xercesc/internal/ReaderMgr.cpp
+++ b/src/xercesc/internal/ReaderMgr.cpp
@@ -445,7 +445,8 @@ XMLReader* ReaderMgr::createReader( const   XMLCh* const        sysId
 {
     //Normalize sysId 
     XMLBuffer normalizedSysId(1023, fMemoryManager);
-    XMLString::removeChar(sysId, 0xFFFF, normalizedSysId);
+    if(sysId)
+        XMLString::removeChar(sysId, 0xFFFF, normalizedSysId);
     const XMLCh* normalizedURI = normalizedSysId.getRawBuffer();
 
     // Create a buffer for expanding the system id