diff --git a/lib/Index/DeclReferenceMap.cpp b/lib/Index/DeclReferenceMap.cpp
index 3ec8794..2e5e7c3 100644
--- a/lib/Index/DeclReferenceMap.cpp
+++ b/lib/Index/DeclReferenceMap.cpp
@@ -66,12 +66,12 @@
 }
 
 void StmtMapper::VisitDeclRefExpr(DeclRefExpr *Node) {
-  NamedDecl *PrimD = cast<NamedDecl>(Node->getDecl()->getPrimaryDecl());
+  NamedDecl *PrimD = cast<NamedDecl>(Node->getDecl()->getCanonicalDecl());
   Map.insert(std::make_pair(PrimD, ASTLocation(Parent, Node)));
 }
 
 void StmtMapper::VisitMemberExpr(MemberExpr *Node) {
-  NamedDecl *PrimD = cast<NamedDecl>(Node->getMemberDecl()->getPrimaryDecl());
+  NamedDecl *PrimD = cast<NamedDecl>(Node->getMemberDecl()->getCanonicalDecl());
   Map.insert(std::make_pair(PrimD, ASTLocation(Parent, Node)));
 }
 
@@ -122,17 +122,17 @@
 
 DeclReferenceMap::astlocation_iterator
 DeclReferenceMap::refs_begin(NamedDecl *D) const {
-  NamedDecl *Prim = cast<NamedDecl>(D->getPrimaryDecl());
+  NamedDecl *Prim = cast<NamedDecl>(D->getCanonicalDecl());
   return astlocation_iterator(Map.lower_bound(Prim));  
 }
 
 DeclReferenceMap::astlocation_iterator
 DeclReferenceMap::refs_end(NamedDecl *D) const {
-  NamedDecl *Prim = cast<NamedDecl>(D->getPrimaryDecl());
+  NamedDecl *Prim = cast<NamedDecl>(D->getCanonicalDecl());
   return astlocation_iterator(Map.upper_bound(Prim));  
 }
 
 bool DeclReferenceMap::refs_empty(NamedDecl *D) const {
-  NamedDecl *Prim = cast<NamedDecl>(D->getPrimaryDecl());
+  NamedDecl *Prim = cast<NamedDecl>(D->getCanonicalDecl());
   return refs_begin(Prim) == refs_end(Prim);  
 }
