diff --git a/lib/CodeGen/CGObjCMac.cpp b/lib/CodeGen/CGObjCMac.cpp
index a0a8524..dd55e65 100644
--- a/lib/CodeGen/CGObjCMac.cpp
+++ b/lib/CodeGen/CGObjCMac.cpp
@@ -2534,7 +2534,7 @@
     Entry = CreateMetadataVar("\01L_OBJC_CLASS_NAME_", 
                               llvm::ConstantArray::get(Ident->getName()), 
                               "__TEXT,__cstring,cstring_literals",
-                              0, true);
+                              1, true);
 
   return getConstantGEP(Entry, 0, 0);
 }
@@ -2939,7 +2939,7 @@
   llvm::GlobalVariable * Entry = CreateMetadataVar("\01L_OBJC_CLASS_NAME_",
                                       llvm::ConstantArray::get(BitMap.c_str()),
                                       "__TEXT,__cstring,cstring_literals",
-                                      0, true);
+                                      1, true);
   // FIXME. Need a commomand-line option for this eventually.
   if (ForStrongLayout)
     printf("\nstrong ivar layout: ");
@@ -2964,7 +2964,7 @@
     Entry = CreateMetadataVar("\01L_OBJC_METH_VAR_NAME_", 
                               llvm::ConstantArray::get(Sel.getAsString()),
                               "__TEXT,__cstring,cstring_literals",
-                              0, true);
+                              1, true);
 
   return getConstantGEP(Entry, 0, 0);
 }
@@ -2989,7 +2989,7 @@
     Entry = CreateMetadataVar("\01L_OBJC_METH_VAR_TYPE_",
                               llvm::ConstantArray::get(TypeStr),
                               "__TEXT,__cstring,cstring_literals",
-                              0, true);
+                              1, true);
     
   return getConstantGEP(Entry, 0, 0);
 }
@@ -3001,16 +3001,11 @@
 
   llvm::GlobalVariable *&Entry = MethodVarTypes[TypeStr];
 
-  if (!Entry) {
-    llvm::Constant *C = llvm::ConstantArray::get(TypeStr);
-    Entry = 
-      new llvm::GlobalVariable(C->getType(), false, 
-                               llvm::GlobalValue::InternalLinkage,
-                               C, "\01L_OBJC_METH_VAR_TYPE_", 
-                               &CGM.getModule());
-    Entry->setSection("__TEXT,__cstring,cstring_literals");
-    UsedGlobals.push_back(Entry);
-  }
+  if (!Entry)
+    Entry = CreateMetadataVar("\01L_OBJC_METH_VAR_TYPE_",
+                              llvm::ConstantArray::get(TypeStr),
+                              "__TEXT,__cstring,cstring_literals",
+                              1, true);
 
   return getConstantGEP(Entry, 0, 0);
 }
@@ -3023,7 +3018,7 @@
     Entry = CreateMetadataVar("\01L_OBJC_PROP_NAME_ATTR_", 
                               llvm::ConstantArray::get(Ident->getName()),
                               "__TEXT,__cstring,cstring_literals",
-                              0, true);
+                              1, true);
 
   return getConstantGEP(Entry, 0, 0);
 }
diff --git a/test/CodeGenObjC/metadata_symbols.m b/test/CodeGenObjC/metadata_symbols.m
index 0edd9e8..55dc5a3 100644
--- a/test/CodeGenObjC/metadata_symbols.m
+++ b/test/CodeGenObjC/metadata_symbols.m
@@ -6,6 +6,7 @@
 // RUN: grep '@"OBJC_EHTYPE_$_EH2" = external global' %t &&
 // RUN: grep '@"OBJC_EHTYPE_$_EH3" = global .*section "__DATA,__objc_const", align 8' %t &&
 // RUN: grep '@"OBJC_EHTYPE_$_EH3"' %t | count 3 &&
+// RUN: grep '@"\\01L_OBJC_CLASS_NAME_" =.*section "__TEXT,__cstring,cstring_literals", align 1' %t | count 1 &&
 // RUN: grep -F 'define internal void @"\01-[A im0]"' %t &&
 // FIXME: Should include category name.
 // RUN: grep -F 'define internal void @"\01-[A im1]"' %t &&
