diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp
index 9498fb2..0f464a0 100644
--- a/lib/Sema/SemaDecl.cpp
+++ b/lib/Sema/SemaDecl.cpp
@@ -280,8 +280,8 @@
   MergeAttributes(New, Old);
 
   
-  QualType OldQType = Old->getType().getCanonicalType();
-  QualType NewQType = New->getType().getCanonicalType();
+  QualType OldQType = Context.getCanonicalType(Old->getType());
+  QualType NewQType = Context.getCanonicalType(New->getType());
   
   // Function types need to be compatible, not identical. This handles
   // duplicate function decls like "void f(int); void f(enum X);" properly.
@@ -357,8 +357,9 @@
   MergeAttributes(New, Old);
 
   // Verify the types match.
-  if (Old->getCanonicalType() != New->getCanonicalType() && 
-      !areEquivalentArrayTypes(New->getCanonicalType(), Old->getCanonicalType())) {
+  QualType OldCType = Context.getCanonicalType(Old->getType());
+  QualType NewCType = Context.getCanonicalType(New->getType());
+  if (OldCType != NewCType && !areEquivalentArrayTypes(NewCType, OldCType)) {
     Diag(New->getLocation(), diag::err_redefinition, New->getName());
     Diag(Old->getLocation(), diag::err_previous_definition);
     return New;
diff --git a/lib/Sema/SemaDeclObjC.cpp b/lib/Sema/SemaDeclObjC.cpp
index 9cf1b3c..c94c681 100644
--- a/lib/Sema/SemaDeclObjC.cpp
+++ b/lib/Sema/SemaDeclObjC.cpp
@@ -619,7 +619,8 @@
   for (unsigned i = 0, e = Method->getNumParams(); i != e; ++i) {
     ParmVarDecl *ParamDecl = Method->getParamDecl(i);
     ParmVarDecl *PrevParamDecl = PrevMethod->getParamDecl(i);
-    if (ParamDecl->getCanonicalType() != PrevParamDecl->getCanonicalType())
+    if (Context.getCanonicalType(ParamDecl->getType()) !=
+        Context.getCanonicalType(PrevParamDecl->getType()))
       return false;
   }
   return true;
