diff --git a/AST/StmtDumper.cpp b/AST/StmtDumper.cpp
index bd5c615..c2a93a6 100644
--- a/AST/StmtDumper.cpp
+++ b/AST/StmtDumper.cpp
@@ -416,7 +416,10 @@
     fprintf(F, "%s", selector.getIdentifierInfoForSlot(0)->getName());
   else {
     for (unsigned i = 0, e = Node->getNumArgs(); i != e; ++i)
-      fprintf(F, "%s:", selector.getIdentifierInfoForSlot(i)->getName());
+      if (selector.getIdentifierInfoForSlot(i))
+        fprintf(F, "%s:", selector.getIdentifierInfoForSlot(i)->getName());
+      else
+        fprintf(F, ":");
   }
 }
 
diff --git a/AST/StmtPrinter.cpp b/AST/StmtPrinter.cpp
index 783368e..2db46f4 100644
--- a/AST/StmtPrinter.cpp
+++ b/AST/StmtPrinter.cpp
@@ -627,7 +627,10 @@
     OS << " " << selector.getIdentifierInfoForSlot(0)->getName();
   else {
     for (unsigned i = 0, e = Node->getNumArgs(); i != e; ++i)
-      OS << selector.getIdentifierInfoForSlot(i)->getName() << ":";
+      if (selector.getIdentifierInfoForSlot(i))
+        OS << selector.getIdentifierInfoForSlot(i)->getName() << ":";
+      else
+        OS <<  ":";
   }
   OS << ")";
 }
@@ -642,7 +645,10 @@
     OS << " " << selector.getIdentifierInfoForSlot(0)->getName();
   } else {
     for (unsigned i = 0, e = Mess->getNumArgs(); i != e; ++i) {
-      OS << " " << selector.getIdentifierInfoForSlot(i)->getName() << ":";
+      if (selector.getIdentifierInfoForSlot(i))
+        OS << selector.getIdentifierInfoForSlot(i)->getName() << ":";
+      else
+         OS << ":";
       PrintExpr(Mess->getArg(i));
     }
   }
diff --git a/Parse/ParseObjc.cpp b/Parse/ParseObjc.cpp
index 2747254..5412a6f 100644
--- a/Parse/ParseObjc.cpp
+++ b/Parse/ParseObjc.cpp
@@ -1327,8 +1327,6 @@
     Diag(Tok, diag::err_expected_ident); // missing selector name.
     return 0;
   }
-  if (!SelIdent)
-    SelIdent = &PP.getIdentifierTable().get("");
   KeyIdents.push_back(SelIdent);
   if (Tok.isNot(tok::r_paren))
     while (1) {
@@ -1342,8 +1340,6 @@
       // Check for another keyword selector.
       SourceLocation Loc;
       SelIdent = ParseObjCSelector(Loc);
-      if (!SelIdent)
-        SelIdent = &PP.getIdentifierTable().get("");
       KeyIdents.push_back(SelIdent);
       if (!SelIdent && Tok.isNot(tok::colon))
         break;
