diff --git a/activemq-http/src/main/java/org/apache/activemq/transport/http/HttpTransportServer.java b/activemq-http/src/main/java/org/apache/activemq/transport/http/HttpTransportServer.java
index 02bf11f1e6..f9774f3126 100644
--- a/activemq-http/src/main/java/org/apache/activemq/transport/http/HttpTransportServer.java
+++ b/activemq-http/src/main/java/org/apache/activemq/transport/http/HttpTransportServer.java
@@ -32,7 +32,6 @@ import org.eclipse.jetty.server.Handler;
 import org.eclipse.jetty.server.Server;
 import org.eclipse.jetty.servlet.ServletContextHandler;
 import org.eclipse.jetty.servlet.ServletHolder;
-import org.eclipse.jetty.servlets.gzip.GzipHandler;
 
 public class HttpTransportServer extends WebTransportServerSupport {
 
@@ -123,11 +122,34 @@ public class HttpTransportServer extends WebTransportServerSupport {
     private int getConnectorLocalPort() throws Exception {
         return (Integer)connector.getClass().getMethod("getLocalPort").invoke(connector);
     }
+
     private void addGzipHandler(ServletContextHandler contextHandler) throws Exception {
-        Handler handler = new GzipHandler();
+        Handler handler = null;
+        try {
+            handler = (Handler) forName("org.eclipse.jetty.server.handler.GzipHandler").newInstance();
+        } catch (Throwable t) {
+            handler = (Handler) forName("org.eclipse.jetty.servlets.gzip.GzipHandler").newInstance();
+        }
         contextHandler.setHandler(handler);
     }
 
+    private Class<?> forName(String name) throws ClassNotFoundException {
+        Class<?> clazz = null;
+        ClassLoader loader = Thread.currentThread().getContextClassLoader();
+        if (loader != null) {
+            try {
+                clazz = loader.loadClass(name);
+            } catch (ClassNotFoundException e) {
+                // ignore
+            }
+        }
+        if (clazz == null) {
+            clazz = HttpTransportServer.class.getClassLoader().loadClass(name);
+        }
+
+        return clazz;
+    }
+
     @Override
     protected void doStop(ServiceStopper stopper) throws Exception {
         Server temp = server;