Index: src/framework/com/uwyn/rife/engine/EngineClassLoader.java
===================================================================
--- src/framework/com/uwyn/rife/engine/EngineClassLoader.java	(revision 2832)
+++ src/framework/com/uwyn/rife/engine/EngineClassLoader.java	(working copy)
@@ -222,32 +222,31 @@
 			}
 			
 			ClassLoader parent = getParent();
-			
-			// get RIFE classes that have already loaded from the parent classloader
-			// these will only be the EngineClassLoader-related classed and those of
-			// the continuations engine
-			// all other RIFE classes will be loaded by the initial EngineClassLoader
-			if (classname.startsWith("com.uwyn.rife"))
-			{
-				try
-				{
-					if (null == mFindLoadedClassMethod)
-					{
-						mFindLoadedClassMethod = ClassLoader.class.getDeclaredMethod("findLoadedClass", new Class[] {java.lang.String.class});
-						mFindLoadedClassMethod.setAccessible(true);
-					}
-					c = (Class)mFindLoadedClassMethod.invoke(mInitiating, (Object[])new String[] {classname});
-//					if (c != null)
-//					{
-//						System.out.println("PARENT defined "+classname+" (already loaded)");
-//					}
-				}
-				catch (Throwable e)
-				{
-					c = null;
-				}
-			}
-			
+
+            // Get classes already loaded by the servlet container's classloader,
+            // to avoid loading them again. These will be classes loaded by other
+            // filters and listeners inside the same web application, initialized
+            // before RIFE.
+            try
+            {
+                if (null == mFindLoadedClassMethod)
+                {
+                    mFindLoadedClassMethod = ClassLoader.class.getDeclaredMethod("findLoadedClass", new Class[] {java.lang.String.class});
+                    mFindLoadedClassMethod.setAccessible(true);
+                }
+
+                c = (Class)mFindLoadedClassMethod.invoke(mInitiating, (Object[])new String[] {classname});
+
+                //if (c != null)
+                //{
+                //    System.out.println("PARENT defined "+classname+" (already loaded)");
+                //}
+            }
+            catch (Throwable e)
+            {
+                c = null;
+            }
+
 			// load the class through the initial EngineClassLoader, unless it
 			// has been modified
 			if (parent instanceof EngineClassLoader &&
