diff --git a/src/xercesc/validators/common/GrammarResolver.cpp b/src/xercesc/validators/common/GrammarResolver.cpp
index 306a3e5f5706b52f12333bf2b12f2d5ea6e1a768..da0bfea4c2f6d2ae1f8de0d62981aebb75b6d216 100644
--- a/src/xercesc/validators/common/GrammarResolver.cpp
+++ b/src/xercesc/validators/common/GrammarResolver.cpp
@@ -57,6 +57,9 @@
 
 /*
  * $Log$
+ * Revision 1.24  2004/01/06 18:52:15  knoaman
+ * Reset list of grammars after building XSModel
+ *
  * Revision 1.23  2003/12/31 02:36:03  neilg
  * Even if the resolver has no grammars, since all schema
  * processors are aware of the schema-for-schemas, an XSModel
@@ -554,6 +557,7 @@ XSModel *GrammarResolver::getXSModel()
     if (fGrammarsToAddToXSModel->size())
     {      
         xsModel = new (fMemoryManager) XSModel(fXSModel, this, fMemoryManager);
+        fGrammarsToAddToXSModel->removeAllElements();
         fXSModel = xsModel;             
     }
     else