Index: c/src/xalanc/XalanTransformer/XalanTransformer.cpp
===================================================================
--- c/src/xalanc/XalanTransformer/XalanTransformer.cpp	(.../vendor/xml-xalan/1.10)	(revision 13764)
+++ c/src/xalanc/XalanTransformer/XalanTransformer.cpp	(.../trunk/3rdparty/xml-xalan)	(revision 13764)
@@ -967,7 +998,7 @@
             const XalanDOMString&   theNamespace,
             const XalanDOMString&   functionName)
 {
-    for (FunctionParamPairVectorType::size_type i = 0; i < m_functionPairs.size(); ++i)
+    for (FunctionParamPairVectorType::size_type i = 0; i < m_functionPairs.size(); )
     {
         if(m_functionPairs[i].first != 0 &&
             XalanQNameByReference(theNamespace, functionName).equals(* (m_functionPairs[i].first)))
@@ -976,8 +1007,12 @@
 
             destroyObjWithMemMgr( m_functionPairs[i].second, m_memoryManager);
 
-            m_functionPairs.erase(m_functionPairs.begin() + i);     
+            m_functionPairs.erase(m_functionPairs.begin() + i);
         }
+		else
+		{
+			++i;
+		}
     }   
 }
 
