diff --git a/common/src/main/java/org/apache/cxf/dosgi/common/proxy/ProxyFactory.java b/common/src/main/java/org/apache/cxf/dosgi/common/proxy/ProxyFactory.java
index ec10f6e..03c2a14 100644
--- a/common/src/main/java/org/apache/cxf/dosgi/common/proxy/ProxyFactory.java
+++ b/common/src/main/java/org/apache/cxf/dosgi/common/proxy/ProxyFactory.java
@@ -23,10 +23,11 @@
 public final class ProxyFactory {
     private ProxyFactory() {
     }
-    
-    public static Object create(Object serviceProxy, Class<?> iType) {
-        return Proxy.newProxyInstance(iType.getClassLoader(), new Class[] {
-            iType
-        }, new ServiceInvocationHandler(serviceProxy, iType));
+
+    @SuppressWarnings("unchecked")
+    public static <T> T create(Object serviceProxy, Class<T> iType) {
+        Class<?>[] ifaces = new Class<?>[] {iType};
+        return (T)Proxy.newProxyInstance(iType.getClassLoader(), ifaces,
+                                         new ServiceInvocationHandler(serviceProxy, iType));
     }
 }
diff --git a/common/src/test/java/org/apache/cxf/dosgi/common/proxy/ServiceInvocationHandlerTest.java b/common/src/test/java/org/apache/cxf/dosgi/common/proxy/ServiceInvocationHandlerTest.java
index 30cf5a8..43a90a7 100644
--- a/common/src/test/java/org/apache/cxf/dosgi/common/proxy/ServiceInvocationHandlerTest.java
+++ b/common/src/test/java/org/apache/cxf/dosgi/common/proxy/ServiceInvocationHandlerTest.java
@@ -80,7 +80,7 @@
 
     @Test(expected = IOException.class)
     public void testException() throws IOException {
-        MySubService proxy = (MySubService)ProxyFactory.create(new MyServiceImpl(), MySubService.class);
+        MySubService proxy = ProxyFactory.create(new MyServiceImpl(), MySubService.class);
         proxy.throwException2();
     }
     
@@ -90,7 +90,7 @@
      */
     @Test(expected = ServiceException.class)
     public void testInheritedException() throws IOException {
-        MyBaseService proxy = (MyBaseService)ProxyFactory.create(new MyServiceImpl(), MySubService.class);
+        MySubService proxy = ProxyFactory.create(new MyServiceImpl(), MySubService.class);
         proxy.throwException1();
     }
     
