diff --git a/http/itest/src/test/java/org/apache/felix/http/itest/HttpServiceRuntimeTest.java b/http/itest/src/test/java/org/apache/felix/http/itest/HttpServiceRuntimeTest.java
index 1f617bc..d3b6f6d 100644
--- a/http/itest/src/test/java/org/apache/felix/http/itest/HttpServiceRuntimeTest.java
+++ b/http/itest/src/test/java/org/apache/felix/http/itest/HttpServiceRuntimeTest.java
@@ -88,6 +88,7 @@
 import org.osgi.service.http.runtime.dto.RequestInfoDTO;
 import org.osgi.service.http.runtime.dto.RuntimeDTO;
 import org.osgi.service.http.runtime.dto.ServletContextDTO;
+import org.osgi.service.http.runtime.dto.ServletDTO;
 
 @RunWith(JUnit4TestRunner.class)
 @ExamReactorStrategy( EagerSingleStagedReactorFactory.class )
@@ -1108,12 +1109,15 @@
         ServletContextDTO httpServiceContext = runtimeWithShadowedServlet.servletContextDTOs[0];
         assertEquals("Http Service context", httpServiceContext.name);
         assertEquals(1, httpServiceContext.servletDTOs.length);
-        assertArrayEquals(new String[] {"/pathcollision", "/pathcollision/*"}, httpServiceContext.servletDTOs[0].patterns);
+        assertArrayEquals(new String[] {"/pathcollision"}, httpServiceContext.servletDTOs[0].patterns);
 
-        assertEquals(1, runtimeWithShadowedServlet.failedServletDTOs.length);
-        FailedServletDTO failedServletDTO = runtimeWithShadowedServlet.failedServletDTOs[0];
-        assertEquals("servlet 1", failedServletDTO.name);
-        assertEquals(FAILURE_REASON_SHADOWED_BY_OTHER_SERVICE, failedServletDTO.failureReason);
+        assertEquals(1, defaultContext.servletDTOs.length);
+        ServletDTO servletDTO = defaultContext.servletDTOs[0];
+        assertEquals("servlet 1", servletDTO.name);
+
+        // check request info DTO to see which servlet responds
+        final RequestInfoDTO infoDTO = serviceRuntime.calculateRequestInfoDTO("/pathcollision");
+        assertEquals(httpServiceContext.serviceId, infoDTO.servletDTO.servletContextId);
 
         unregister(testServlet);
         awaitServiceRegistration(destroyLatch);
diff --git a/http/itest/src/test/java/org/apache/felix/http/itest/ServletPatternTest.java b/http/itest/src/test/java/org/apache/felix/http/itest/ServletPatternTest.java
index 49657b1..94011e1 100644
--- a/http/itest/src/test/java/org/apache/felix/http/itest/ServletPatternTest.java
+++ b/http/itest/src/test/java/org/apache/felix/http/itest/ServletPatternTest.java
@@ -164,7 +164,7 @@
             assertTrue(initLatch.await(5, TimeUnit.SECONDS));
 
             assertContent("whiteboardServlet", createURL("/test/bar"));
-            assertContent("httpServiceServlet", createURL("/test/foo"));
+            assertContent("whiteboardServlet", createURL("/test/bar"));
         }
         finally
         {
