diff --git a/src/xercesc/validators/DTD/DTDScanner.cpp b/src/xercesc/validators/DTD/DTDScanner.cpp
index e49c899ef1f8b936a7cda359fdc518f2bacf1793..31e2808df1a1353554b407b6d8722398eb856937 100644
--- a/src/xercesc/validators/DTD/DTDScanner.cpp
+++ b/src/xercesc/validators/DTD/DTDScanner.cpp
@@ -56,6 +56,9 @@
 
 /*
  * $Log$
+ * Revision 1.6  2002/06/06 20:36:33  tng
+ * Fix: Valid encoding name is not checked in scanning Text Decl
+ *
  * Revision 1.5  2002/05/30 16:17:19  tng
  * Add feature to optionally ignore external DTD.
  *
@@ -3644,7 +3647,7 @@ void DTDScanner::scanTextDecl()
 
         // Followed by a single or double quoted version string
         getQuotedString(bbEncoding.getBuffer());
-        if (bbEncoding.isEmpty())
+        if (bbEncoding.isEmpty() || !XMLString::isValidEncName(bbEncoding.getRawBuffer()))
         {
             fScanner->emitError(XMLErrs::BadXMLEncoding, bbEncoding.getRawBuffer());
             fReaderMgr->skipPastChar(chCloseAngle);