(TRINIDAD-2465) 
Memory Leak on redeploy
diff --git a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/GlobalConfiguratorImpl.java b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/GlobalConfiguratorImpl.java
index dc4cb4f..aa27a8e 100644
--- a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/GlobalConfiguratorImpl.java
+++ b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/config/GlobalConfiguratorImpl.java
@@ -87,6 +87,22 @@
    *
    * @return a GlobalConfigurator or <code>null</code> is one was unable to be obtained.
    */
+   
+  static public final  void releaseInstance(){
+  final ClassLoader loader = Thread.currentThread().getContextClassLoader();
+
+    if (loader == null)
+    {
+      _LOG.severe("CANNOT_FIND_CONTEXT_CLASS_LOADER");
+	  return;
+	}
+	synchronized (_CONFIGURATORS)
+      {
+        GlobalConfiguratorImpl config = _CONFIGURATORS.remove(loader);
+        _LOG.fine("GlobalConfigurator has been removed.");
+        
+      }
+  }
   static public final GlobalConfiguratorImpl getInstance()
   {
     final ClassLoader loader = Thread.currentThread().getContextClassLoader();
diff --git a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/TrinidadListenerImpl.java b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/TrinidadListenerImpl.java
index a618f61..58e89c3 100644
--- a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/TrinidadListenerImpl.java
+++ b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/TrinidadListenerImpl.java
@@ -39,6 +39,7 @@
   {
     RequestContext.releaseApplicationState();
     GlobalConfiguratorImpl.getInstance().destroy();
+	GlobalConfiguratorImpl.getInstance().releaseInstance();
   }
 
   /* (non-Javadoc)