diff --git a/src/xercesc/internal/IANAEncodings.hpp b/src/xercesc/internal/IANAEncodings.hpp
index 2db6bbf52e1773fc166591b16de6dd045b0fd988..1d76d657eec34d902fbf5682f2554becb7fbb0aa 100644
--- a/src/xercesc/internal/IANAEncodings.hpp
+++ b/src/xercesc/internal/IANAEncodings.hpp
@@ -10,7 +10,7 @@ XERCES_CPP_NAMESPACE_BEGIN
 //  so do not edit this file directly!!
 // ----------------------------------------------------------------
 
-const XMLCh gEncodingArray[][128] =
+const XMLCh gEncodingArray[][46] =
 {
     { 0x0041,0x004E,0x0053,0x0049,0x005F,0x0058,0x0033,0x002E,0x0034,0x002D,0x0031,0x0039,0x0036,0x0038,0x00 }
   , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0036,0x00 }
diff --git a/tools/IANACharset/IANACharset.cpp b/tools/IANACharset/IANACharset.cpp
index 7948029d8ef905a9f0bc5b324e0feee21eed0c09..75b71b24b542bd61095179316c67b454b833a999 100644
--- a/tools/IANACharset/IANACharset.cpp
+++ b/tools/IANACharset/IANACharset.cpp
@@ -57,6 +57,9 @@
 
 /*
  * $Log$
+ * Revision 1.3  2003/01/29 15:00:01  knoaman
+ * [Bug 15787] Reduce array size to reduce memory footprint.
+ *
  * Revision 1.2  2002/11/04 15:24:50  tng
  * C++ Namespace Support.
  *
@@ -223,7 +226,7 @@ static void startOutput(const XMLCh* const outPath)
     //  Output the leading part of the array declaration. Its just an
     //  array of pointers to Unicode chars.
     //
-    fwprintf(gOutFile, L"const XMLCh gEncodingArray[][128] = \n{\n");
+    fwprintf(gOutFile, L"const XMLCh gEncodingArray[][46] = \n{\n");
 
     //
     // Reset first element trigger