diff --git a/src/xercesc/internal/SGXMLScanner.cpp b/src/xercesc/internal/SGXMLScanner.cpp
index 0c12898f703859ccb4f592d4d1deb01cf0131a88..2395c8caf122b8438cde7d0aa34f48f0ed9a8b1c 100644
--- a/src/xercesc/internal/SGXMLScanner.cpp
+++ b/src/xercesc/internal/SGXMLScanner.cpp
@@ -3187,6 +3187,10 @@ void SGXMLScanner::scanReset(const InputSource& src)
     // Clear out the id reference list
     resetValidationContext();
 
+    // Reset the Root Element Name
+    fMemoryManager->deallocate(fRootElemName);//delete [] fRootElemName;
+    fRootElemName = 0;
+
     // Reset IdentityConstraints
     if (fICHandler)
         fICHandler->reset();