diff --git a/lib/Format/Format.cpp b/lib/Format/Format.cpp
index d721536..f84d3c5 100644
--- a/lib/Format/Format.cpp
+++ b/lib/Format/Format.cpp
@@ -39,6 +39,7 @@
   TT_ObjCBlockLParen,
   TT_ObjCDecl,
   TT_ObjCMethodSpecifier,
+  TT_ObjCProperty,
   TT_OverloadedOperator,
   TT_PointerOrReference,
   TT_PureVirtualSpecifier,
@@ -55,7 +56,8 @@
   LT_PreprocessorDirective,
   LT_VirtualFunctionDecl,
   LT_ObjCDecl, // An @interface, @implementation, or @protocol line.
-  LT_ObjCMethodDecl
+  LT_ObjCMethodDecl,
+  LT_ObjCProperty // An @property line.
 };
 
 class AnnotatedToken {
@@ -841,6 +843,8 @@
       CurrentLineType = LT_ObjCMethodDecl;
     else if (RootToken.Type == TT_ObjCDecl)
       CurrentLineType = LT_ObjCDecl;
+    else if (RootToken.Type == TT_ObjCProperty)
+      CurrentLineType = LT_ObjCProperty;
 
     if (!RootToken.Children.empty())
       calculateExtraInformation(RootToken.Children[0]);
@@ -891,6 +895,10 @@
         case tok::objc_implementation:
         case tok::objc_protocol:
           Current.Type = TT_ObjCDecl;
+          break;
+        case tok::objc_property:
+          Current.Type = TT_ObjCProperty;
+          break;
         default:
           break;
         }
@@ -1044,6 +1052,9 @@
         // Don't space between ':' and '('
         return false;
     }
+    if (CurrentLineType == LT_ObjCProperty &&
+        (Tok.is(tok::equal) || Tok.Parent->is(tok::equal)))
+      return false;
 
     if (Tok.Type == TT_CtorInitializerColon || Tok.Type == TT_ObjCBlockLParen)
       return true;
diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp
index 5844853..deb668d 100644
--- a/unittests/Format/FormatTest.cpp
+++ b/unittests/Format/FormatTest.cpp
@@ -1430,7 +1430,6 @@
   verifyFormat("@[");
   verifyFormat("@{");
 
-
   EXPECT_EQ("@interface", format("@ interface"));
 
   // The precise formatting of this doesn't matter, nobody writes code like
@@ -1452,10 +1451,16 @@
   verifyFormat("@synchronized(self) {\n"
                "  f();\n"
                "}");
-  verifyFormat("@synthesize dropArrowPosition = dropArrowPosition_;");
 
-  // FIXME: "getter=bar" should not be surround by spaces in @property.
+  // FIXME: Some Apple code examples don't have spaces around '=' for
+  // @synthesize, decide if that's desired or not in LLVM style. Google style
+  // definitely wants spaces.
+  verifyFormat("@synthesize dropArrowPosition = dropArrowPosition_;");
+  verifyGoogleFormat("@synthesize dropArrowPosition = dropArrowPosition_;");
+
   verifyFormat("@property(assign, nonatomic) CGFloat hoverAlpha;");
+  verifyFormat("@property(assign, getter=isEditable) BOOL editable;");
+  verifyGoogleFormat("@property(assign, getter=isEditable) BOOL editable;");
 }
 
 } // end namespace tooling
