diff --git a/wink-guice-server/src/main/java/org/apache/wink/guice/server/internal/GuiceDeploymentConfiguration.java b/wink-guice-server/src/main/java/org/apache/wink/guice/server/internal/GuiceDeploymentConfiguration.java
index 3217e68..61f6f94 100644
--- a/wink-guice-server/src/main/java/org/apache/wink/guice/server/internal/GuiceDeploymentConfiguration.java
+++ b/wink-guice-server/src/main/java/org/apache/wink/guice/server/internal/GuiceDeploymentConfiguration.java
@@ -22,6 +22,7 @@
 import org.apache.wink.common.internal.lifecycle.LifecycleManagersRegistry;
 import org.apache.wink.guice.server.internal.lifecycle.GuiceInjectorLifeCycleManager;
 import org.apache.wink.guice.server.internal.lifecycle.WinkGuiceModule;
+import org.apache.wink.server.handlers.Handler;
 import org.apache.wink.server.internal.DeploymentConfiguration;
 
 import com.google.inject.Guice;
@@ -34,11 +35,21 @@
     public GuiceDeploymentConfiguration() {
         LifecycleManagersRegistry lifecycleManagersRegistry = new LifecycleManagersRegistry();
         setOfFactoryRegistry(lifecycleManagersRegistry);
-        Injector injector = Guice.createInjector(createModules());
+        injector = Guice.createInjector(createModules());
         lifecycleManagersRegistry.addFactoryFactory(new GuiceInjectorLifeCycleManager(injector));
     }
 
     public Module[] createModules() {
         return new Module[] {new WinkGuiceModule()};
     }
+    
+	private final Injector injector;
+	@Override
+	protected <T extends Handler> T createHandler(Class<T> cls) {
+		try {
+			return injector.getInstance(cls);
+		} catch (Throwable th) {
+			return super.createHandler(cls);
+		}
+	}
 }
