diff --git a/lib/Analysis/CFRefCount.cpp b/lib/Analysis/CFRefCount.cpp
index 25466cb..80c6bf9 100644
--- a/lib/Analysis/CFRefCount.cpp
+++ b/lib/Analysis/CFRefCount.cpp
@@ -741,6 +741,9 @@
         break;
       }
     }
+    
+    // Ignore the prefix '_'
+    while (*FName == '_') ++FName;
 
     if (FName[0] == 'C') {
       if (FName[1] == 'F')
@@ -780,9 +783,6 @@
 RetainSummary* RetainSummaryManager::getCFSummary(FunctionDecl* FD,
                                                   const char* FName) {
 
-  if (FName[0] == 'C' && FName[1] == 'F')
-    FName += 2;
-
   if (isRetain(FD, FName))
     return getUnarySummary(FD, cfretain);
   
@@ -798,9 +798,6 @@
 RetainSummary* RetainSummaryManager::getCGSummary(FunctionDecl* FD,
                                                   const char* FName) {
   
-  if (FName[0] == 'C' && FName[1] == 'G')
-    FName += 2;
-  
   if (isRelease(FD, FName))
     return getUnarySummary(FD, cfrelease);
   
