diff --git a/src/xercesc/validators/common/GrammarResolver.cpp b/src/xercesc/validators/common/GrammarResolver.cpp
index 50c9250e007244fc7064c026ae474a8db28e25a0..31d27a7475e80d6331113551d8c679242f5b5422 100644
--- a/src/xercesc/validators/common/GrammarResolver.cpp
+++ b/src/xercesc/validators/common/GrammarResolver.cpp
@@ -16,6 +16,9 @@
 
 /*
  * $Log$
+ * Revision 1.30  2004/12/03 17:00:13  amassari
+ * Avoid throwing an exception when orphaning a cached grammar that has not been used yet
+ *
  * Revision 1.29  2004/09/29 19:27:07  cargilld
  * Fix for Jira-1217: fixing problems with getXSModel.
  *
@@ -439,7 +442,8 @@ Grammar* GrammarResolver::orphanGrammar(const XMLCh* const nameSpaceKey)
         Grammar* grammar = fGrammarPool->orphanGrammar(nameSpaceKey);
         if (grammar)
         {
-            fGrammarFromPool->removeKey(nameSpaceKey);
+            if (fGrammarFromPool->containsKey(nameSpaceKey))
+                fGrammarFromPool->removeKey(nameSpaceKey);
             return grammar;
         }       
         // It failed to remove it from the grammar pool either because it