diff --git a/BUILD b/BUILD
index 9eaabbbccdb510c7bd62be569cc935b7ce9bdf55..d2eb585ee41652a724eedf7b21c1a4323b381ae0 100644
--- a/BUILD
+++ b/BUILD
@@ -400,6 +400,7 @@ cc_library(
   ],
   deps = [
     "//external:libssl",
+    "//external:zlib",
     ":gpr",
   ],
 )
diff --git a/templates/BUILD.template b/templates/BUILD.template
index 4e9d8c376a996574b50a6ce2a6e06fa7f2b6046d..8b565a0dc073bcbe9a2646356aa43243e40d6e15 100644
--- a/templates/BUILD.template
+++ b/templates/BUILD.template
@@ -49,6 +49,8 @@ def get_deps(target_dict):
     deps.append("//external:protobuf_compiler")
   if target_dict['name'] == 'grpc++_unsecure' or target_dict['name'] == 'grpc++':
     deps.append("//external:protobuf_clib")
+  elif target_dict['name'] == 'grpc':
+    deps.append("//external:zlib")
   for d in target_dict.get('deps', []):
     if d.find('//') == 0 or d[0] == ':':
       deps.append(d)