diff --git a/build.yaml b/build.yaml
index 383090fa6f16de98ce9d111ec0e60c005ff6ab33..1df62654a4cc2a31621742bd6ff1915099980266 100644
--- a/build.yaml
+++ b/build.yaml
@@ -480,6 +480,8 @@ filegroups:
   - src/core/ext/filters/http/http_filters_plugin.c
   - src/core/ext/filters/http/server/http_server_filter.c
   plugin: grpc_http_filters
+  uses:
+  - grpc_base
 - name: grpc_lb_policy_grpclb
   headers:
   - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h
diff --git a/include/grpc/impl/codegen/grpc_types.h b/include/grpc/impl/codegen/grpc_types.h
index 37f5a49ece3c071261af0b359fa57653c3f5713c..e0276f6e43af763857fd02078cf37215e984c051 100644
--- a/include/grpc/impl/codegen/grpc_types.h
+++ b/include/grpc/impl/codegen/grpc_types.h
@@ -205,6 +205,8 @@ typedef struct {
 /** Minimum time (in milliseconds) between successive ping frames being sent */
 #define GRPC_ARG_HTTP2_MIN_TIME_BETWEEN_PINGS_MS \
   "grpc.http2.min_time_between_pings_ms"
+/* Channel arg to override the http2 :scheme header */
+#define GRPC_ARG_HTTP2_SCHEME "grpc.http2_scheme"
 /** How many pings can we send before needing to send a data frame or header
     frame?
     (0 indicates that an infinite number of pings can be sent without sending
diff --git a/src/core/ext/filters/http/client/http_client_filter.h b/src/core/ext/filters/http/client/http_client_filter.h
index 109702f66706264a7132b2bdfc088829e8f69f3c..6e1eb3937bac6e202236b5ad23f2db6ea5f3cd1d 100644
--- a/src/core/ext/filters/http/client/http_client_filter.h
+++ b/src/core/ext/filters/http/client/http_client_filter.h
@@ -38,9 +38,6 @@
 /* Processes metadata on the client side for HTTP2 transports */
 extern const grpc_channel_filter grpc_http_client_filter;
 
-/* Channel arg to override the http2 :scheme header */
-#define GRPC_ARG_HTTP2_SCHEME "grpc.http2_scheme"
-
 /* Channel arg to determine maximum size of payload eligable for GET request */
 #define GRPC_ARG_MAX_PAYLOAD_SIZE_FOR_GET "grpc.max_payload_size_for_get"
 
diff --git a/src/core/lib/security/credentials/credentials.c b/src/core/lib/security/credentials/credentials.c
index 700aae1bc5fe4a50bab3cc7b1a4e354cc0ed3579..d89da47fc155ccde985bd1646ceef3fffb253224 100644
--- a/src/core/lib/security/credentials/credentials.c
+++ b/src/core/lib/security/credentials/credentials.c
@@ -36,7 +36,6 @@
 #include <stdio.h>
 #include <string.h>
 
-#include "src/core/ext/filters/http/client/http_client_filter.h"
 #include "src/core/lib/channel/channel_args.h"
 #include "src/core/lib/http/httpcli.h"
 #include "src/core/lib/http/parser.h"
diff --git a/src/core/lib/security/credentials/ssl/ssl_credentials.c b/src/core/lib/security/credentials/ssl/ssl_credentials.c
index 9dccbb1e5dba52001d4518e02d4c84b2d05a002f..b63bb6b6e9e719444fb635ccfbde534375dfeaa1 100644
--- a/src/core/lib/security/credentials/ssl/ssl_credentials.c
+++ b/src/core/lib/security/credentials/ssl/ssl_credentials.c
@@ -35,7 +35,6 @@
 
 #include <string.h>
 
-#include "src/core/ext/filters/http/client/http_client_filter.h"
 #include "src/core/lib/channel/channel_args.h"
 #include "src/core/lib/surface/api_trace.h"
 
diff --git a/tools/run_tests/generated/sources_and_headers.json b/tools/run_tests/generated/sources_and_headers.json
index afa52f391f068ec7896c7601caf5697ab97ad9f4..6cf4494b12f0ec6b268a46377b6e703e8494f464 100644
--- a/tools/run_tests/generated/sources_and_headers.json
+++ b/tools/run_tests/generated/sources_and_headers.json
@@ -8007,7 +8007,10 @@
     "type": "filegroup"
   }, 
   {
-    "deps": [], 
+    "deps": [
+      "gpr", 
+      "grpc_base"
+    ], 
     "headers": [
       "src/core/ext/filters/http/client/http_client_filter.h", 
       "src/core/ext/filters/http/compress/compress_filter.h",