diff --git a/Cython/Compiler/PyrexTypes.py b/Cython/Compiler/PyrexTypes.py
index 8fa3836bafae70190c8c777f96b6599e3f211e72..add37a96b1d3a6db3019b475cddd5e60048e4766 100755
--- a/Cython/Compiler/PyrexTypes.py
+++ b/Cython/Compiler/PyrexTypes.py
@@ -1383,15 +1383,9 @@ class CReferenceType(CType):
     def assignable_from_resolved_type(self, other_type):
         if other_type is error_type:
             return 1
-        if other_type.is_ptr:
-            return 0
-            #print self, other_type
-            #if other_type.base_type == self.base_type:
-            #    return 1
-            #else:
-            #    pass
-                #TODO: should send a warning message: initialization from incompatible pointer type (in C/C++)
-        if other_type == self.base_type:
+        elif other_type.is_reference and self.base_type == other_type.base_type:
+            return 1
+        elif other_type == self.base_type:
             return 1
         else: #for now
             return 0