diff --git a/src/com/google/inject/internal/ConstructorBindingImpl.java b/src/com/google/inject/internal/ConstructorBindingImpl.java
index 4f8ce08..037445e 100644
--- a/src/com/google/inject/internal/ConstructorBindingImpl.java
+++ b/src/com/google/inject/internal/ConstructorBindingImpl.java
@@ -65,7 +65,11 @@
       InjectionPoint constructorInjector, Object source, Scoping scoping, Errors errors)
       throws ErrorsException {
     int numErrors = errors.size();
-    Class<? super T> rawType = key.getTypeLiteral().getRawType();
+
+    @SuppressWarnings("unchecked") // constructorBinding guarantees type is consistent
+    Class<? super T> rawType = constructorInjector == null 
+        ? key.getTypeLiteral().getRawType()
+        : (Class) constructorInjector.getDeclaringType().getRawType();
 
     // We can't inject abstract classes.
     if (Modifier.isAbstract(rawType.getModifiers())) {
diff --git a/test/com/google/inject/BindingTest.java b/test/com/google/inject/BindingTest.java
index 968cd47..1878d5a 100644
--- a/test/com/google/inject/BindingTest.java
+++ b/test/com/google/inject/BindingTest.java
@@ -365,6 +365,21 @@
         heardTypes);
   }
 
+  public void testInterfaceToImplementationConstructor() throws NoSuchMethodException {
+    final Constructor<CFoo> constructor = CFoo.class.getDeclaredConstructor();
+
+    Injector injector = Guice.createInjector(new AbstractModule() {
+      protected void configure() {
+        bind(IFoo.class).toConstructor(constructor);
+      }
+    });
+
+    injector.getInstance(IFoo.class);
+  }
+
+  public static interface IFoo {}
+  public static class CFoo implements IFoo {}
+
   public void testGetAllBindings() {
     Injector injector = Guice.createInjector(new AbstractModule() {
       protected void configure() {
