diff --git a/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/WebAppClassLoader.java b/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/WebAppClassLoader.java
index 0862143..0bd3d93 100644
--- a/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/WebAppClassLoader.java
+++ b/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/WebAppClassLoader.java
@@ -518,10 +518,14 @@
             try
             {
                 content = url.openStream();
-                byte[] bytes =IO.readBytes(content);
+                byte[] bytes = IO.readBytes(content);
                     
                 for (ClassFileTransformer transformer : _transformers)
-                    bytes=transformer.transform(this,name,null,null,bytes);
+                {
+                    byte[] tmp = transformer.transform(this,name,null,null,bytes);
+                    if (tmp != null)
+                        bytes = tmp;
+                }
                 
                 clazz=defineClass(name,bytes,0,bytes.length);
             }
diff --git a/jetty-webapp/src/test/java/org/eclipse/jetty/webapp/WebAppClassLoaderTest.java b/jetty-webapp/src/test/java/org/eclipse/jetty/webapp/WebAppClassLoaderTest.java
index 3ec8e2b..49011ab 100644
--- a/jetty-webapp/src/test/java/org/eclipse/jetty/webapp/WebAppClassLoaderTest.java
+++ b/jetty-webapp/src/test/java/org/eclipse/jetty/webapp/WebAppClassLoaderTest.java
@@ -137,7 +137,22 @@
         assertEquals(_loader,iter.next());
         assertEquals("org.acme.other.ClassInClassesC",iter.next());
         assertFalse(iter.hasNext());
-       
+    }
+    
+    @Test
+    public void testNullClassFileTransformer () throws Exception
+    {
+        _loader.addTransformer(new ClassFileTransformer()
+        {
+            public byte[] transform(ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer)
+                    throws IllegalClassFormatException
+            {
+                return null;
+            }
+        });
+        
+        
+        assertTrue(canLoadClass("org.acme.webapp.ClassInJarA"));
     }
 
     @Test
