diff --git a/lib/CodeGen/CodeGenModule.cpp b/lib/CodeGen/CodeGenModule.cpp
index 93bf6dd..b259a5d 100644
--- a/lib/CodeGen/CodeGenModule.cpp
+++ b/lib/CodeGen/CodeGenModule.cpp
@@ -1270,21 +1270,13 @@
   // Forward declarations, no (immediate) code generation.
   case Decl::ObjCClass:
   case Decl::ObjCForwardProtocol:
+  case Decl::ObjCCategory:
+  case Decl::ObjCInterface:
     break;
       
   case Decl::ObjCProtocol:
-  case Decl::ObjCCategory:
-  case Decl::ObjCInterface: {
-    ObjCContainerDecl *OCD = cast<ObjCContainerDecl>(D);
-    for (ObjCContainerDecl::tuvar_iterator i = OCD->tuvar_begin(),
-         e = OCD->tuvar_end(); i != e; ++i) {
-        VarDecl *VD = *i;
-        EmitGlobal(VD);
-    }
-    if (D->getKind() == Decl::ObjCProtocol) 
-      Runtime->GenerateProtocol(cast<ObjCProtocolDecl>(D));
+    Runtime->GenerateProtocol(cast<ObjCProtocolDecl>(D));
     break;
-  }
 
   case Decl::ObjCCategoryImpl:
     // Categories have properties but don't support synthesize so we
