diff --git a/AST/Decl.cpp b/AST/Decl.cpp
index d80b5ee..8ee382c 100644
--- a/AST/Decl.cpp
+++ b/AST/Decl.cpp
@@ -549,12 +549,19 @@
   return NULL;
 }
 
-int ObjCMethodDecl::getSynthesizedSelectorSize() const {
+/// getSynthesizedMethodSize - Compute size of synthesized method name
+/// as done be the rewrite.
+///
+unsigned ObjCMethodDecl::getSynthesizedMethodSize() const {
   // syntesized method name is a concatenation of -/+[class-name selector]
   // Get length of this name.
-  int length = 4;  // for '+' or '-', '[', space in between and ']'
-  length += getSelector().getName().size(); // for selector name.
-  length += strlen(getMethodContext()->getName()); // for its class name
+  unsigned length = 3;  // _I_ or _C_
+  length += strlen(getClassInterface()->getName()) +1; // extra for _
+  NamedDecl *MethodContext = getMethodContext();
+  if (ObjCCategoryImplDecl *CID = 
+      dyn_cast<ObjCCategoryImplDecl>(MethodContext))
+    length += strlen(CID->getName()) +1;
+  length += getSelector().getName().size(); // selector name
   return length; 
 }
 
diff --git a/Sema/SemaExpr.cpp b/Sema/SemaExpr.cpp
index a80bc43..5d446dd 100644
--- a/Sema/SemaExpr.cpp
+++ b/Sema/SemaExpr.cpp
@@ -131,7 +131,7 @@
   if (CurFunctionDecl)
     Length = CurFunctionDecl->getIdentifier()->getLength();
   else
-    Length = CurMethodDecl->getSynthesizedSelectorSize();
+    Length = CurMethodDecl->getSynthesizedMethodSize();
   
   llvm::APInt LengthI(32, Length + 1);
   QualType ResTy = Context.CharTy.getQualifiedType(QualType::Const);
diff --git a/include/clang/AST/DeclObjC.h b/include/clang/AST/DeclObjC.h
index f46f324..fb81437 100644
--- a/include/clang/AST/DeclObjC.h
+++ b/include/clang/AST/DeclObjC.h
@@ -116,7 +116,7 @@
   ObjCInterfaceDecl *const getClassInterface() const;
   
   Selector getSelector() const { return SelName; }
-  int getSynthesizedSelectorSize() const;
+  unsigned getSynthesizedMethodSize() const;
   QualType getResultType() const { return MethodDeclType; }
   
   // Iterator access to formal parameters.
