diff --git a/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.dsp b/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.dsp
index 7b78ca12f8e94a31a297c8952a75d2547d3bd9a0..2d6d639662e12140ee4190200af31d7a55c51461 100644
--- a/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.dsp
+++ b/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.dsp
@@ -687,6 +687,14 @@ SOURCE=..\..\..\..\..\src\xercesc\util\StringPool.hpp
 # End Source File
 # Begin Source File
 
+SOURCE=..\..\..\..\..\src\xercesc\util\SynchronizedStringPool.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\xercesc\util\SynchronizedStringPool.hpp
+# End Source File
+# Begin Source File
+
 SOURCE=..\..\..\..\..\src\xercesc\util\TranscodingException.hpp
 # End Source File
 # Begin Source File
diff --git a/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.mak b/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.mak
index b185775570c10658321ef456a5a1004b6294e461..918d9c19f3268f2db54897fab96d2a7db07f0d21 100644
--- a/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.mak
+++ b/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.mak
@@ -268,6 +268,7 @@ CLEAN :
 	-@erase "$(INTDIR)\StringPool.obj"
 	-@erase "$(INTDIR)\StringToken.obj"
 	-@erase "$(INTDIR)\SubstitutionGroupComparator.obj"
+	-@erase "$(INTDIR)\SynchronizedStringPool.obj"
 	-@erase "$(INTDIR)\TextImpl.obj"
 	-@erase "$(INTDIR)\TimeDatatypeValidator.obj"
 	-@erase "$(INTDIR)\Token.obj"
@@ -443,6 +444,7 @@ LINK32_OBJS= \
 	"$(INTDIR)\PlatformUtils.obj" \
 	"$(INTDIR)\QName.obj" \
 	"$(INTDIR)\StringPool.obj" \
+	"$(INTDIR)\SynchronizedStringPool.obj" \
 	"$(INTDIR)\TransService.obj" \
 	"$(INTDIR)\XMemory.obj" \
 	"$(INTDIR)\XML256TableTranscoder.obj" \
@@ -968,6 +970,7 @@ CLEAN :
 	-@erase "$(INTDIR)\StringPool.obj"
 	-@erase "$(INTDIR)\StringToken.obj"
 	-@erase "$(INTDIR)\SubstitutionGroupComparator.obj"
+	-@erase "$(INTDIR)\SynchronizedStringPool.obj"
 	-@erase "$(INTDIR)\TextImpl.obj"
 	-@erase "$(INTDIR)\TimeDatatypeValidator.obj"
 	-@erase "$(INTDIR)\Token.obj"
@@ -1145,6 +1148,7 @@ LINK32_OBJS= \
 	"$(INTDIR)\PlatformUtils.obj" \
 	"$(INTDIR)\QName.obj" \
 	"$(INTDIR)\StringPool.obj" \
+	"$(INTDIR)\SynchronizedStringPool.obj" \
 	"$(INTDIR)\TransService.obj" \
 	"$(INTDIR)\XMemory.obj" \
 	"$(INTDIR)\XML256TableTranscoder.obj" \
@@ -1670,6 +1674,7 @@ CLEAN :
 	-@erase "$(INTDIR)\StringPool.obj"
 	-@erase "$(INTDIR)\StringToken.obj"
 	-@erase "$(INTDIR)\SubstitutionGroupComparator.obj"
+	-@erase "$(INTDIR)\SynchronizedStringPool.obj"
 	-@erase "$(INTDIR)\TextImpl.obj"
 	-@erase "$(INTDIR)\TimeDatatypeValidator.obj"
 	-@erase "$(INTDIR)\Token.obj"
@@ -1847,6 +1852,7 @@ LINK32_OBJS= \
 	"$(INTDIR)\PlatformUtils.obj" \
 	"$(INTDIR)\QName.obj" \
 	"$(INTDIR)\StringPool.obj" \
+	"$(INTDIR)\SynchronizedStringPool.obj" \
 	"$(INTDIR)\TransService.obj" \
 	"$(INTDIR)\XMemory.obj" \
 	"$(INTDIR)\XML256TableTranscoder.obj" \
@@ -2372,6 +2378,7 @@ CLEAN :
 	-@erase "$(INTDIR)\StringPool.obj"
 	-@erase "$(INTDIR)\StringToken.obj"
 	-@erase "$(INTDIR)\SubstitutionGroupComparator.obj"
+	-@erase "$(INTDIR)\SynchronizedStringPool.obj"
 	-@erase "$(INTDIR)\TextImpl.obj"
 	-@erase "$(INTDIR)\TimeDatatypeValidator.obj"
 	-@erase "$(INTDIR)\Token.obj"
@@ -2548,6 +2555,7 @@ LINK32_OBJS= \
 	"$(INTDIR)\PlatformUtils.obj" \
 	"$(INTDIR)\QName.obj" \
 	"$(INTDIR)\StringPool.obj" \
+	"$(INTDIR)\SynchronizedStringPool.obj" \
 	"$(INTDIR)\TransService.obj" \
 	"$(INTDIR)\XMemory.obj" \
 	"$(INTDIR)\XML256TableTranscoder.obj" \
@@ -3357,6 +3365,12 @@ SOURCE=..\..\..\..\..\src\xercesc\util\StringPool.cpp
 	$(CPP) $(CPP_PROJ) $(SOURCE)
 
 
+SOURCE=..\..\..\..\..\src\xercesc\util\SynchronizedStringPool.cpp
+
+"$(INTDIR)\SynchronizedStringPool.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
 SOURCE=..\..\..\..\..\src\xercesc\util\TransService.cpp
 
 "$(INTDIR)\TransService.obj" : $(SOURCE) "$(INTDIR)"