diff --git a/apache-jstl/src/test/java/org/eclipse/jetty/jstl/JstlTest.java b/apache-jstl/src/test/java/org/eclipse/jetty/jstl/JstlTest.java
index f1c4dd3..5642ef4 100644
--- a/apache-jstl/src/test/java/org/eclipse/jetty/jstl/JstlTest.java
+++ b/apache-jstl/src/test/java/org/eclipse/jetty/jstl/JstlTest.java
@@ -18,8 +18,9 @@
 
 package org.eclipse.jetty.jstl;
 
-import static org.hamcrest.Matchers.*;
-import static org.junit.Assert.*;
+import static org.hamcrest.Matchers.containsString;
+import static org.hamcrest.Matchers.not;
+import static org.junit.Assert.assertThat;
 
 import java.io.File;
 import java.io.IOException;
@@ -75,6 +76,16 @@
         WebAppContext context = new WebAppContext();
         context.setContextPath("/");
         
+        /* TODO: Bug #486530 - sub-handler on WebAppContext prevents startup
+        context.setHandler(new AbstractHandler()
+        {
+            public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response)
+                    throws IOException, ServletException
+            {
+            }
+        });
+         */
+        
         File scratchDir = MavenTestingUtils.getTargetFile("tests/" + JstlTest.class.getSimpleName() + "-scratch");
         FS.ensureEmpty(scratchDir);
         JspConfig.init(context,testWebAppDir.toURI(),scratchDir);
diff --git a/apache-jstl/src/test/resources/jetty-logging.properties b/apache-jstl/src/test/resources/jetty-logging.properties
new file mode 100644
index 0000000..08befa5
--- /dev/null
+++ b/apache-jstl/src/test/resources/jetty-logging.properties
@@ -0,0 +1,3 @@
+org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog
+# org.eclipse.jetty.LEVEL=INFO
+# org.eclipse.jetty.util.LEVEL=DEBUG
