diff --git a/src/core/lib/channel/http_server_filter.c b/src/core/lib/channel/http_server_filter.c
index 80f3fc3cc35183e2d0a05caa0d24ad68c0619000..b42ff06039c079c879c3d9c463e61d9cd536f068 100644
--- a/src/core/lib/channel/http_server_filter.c
+++ b/src/core/lib/channel/http_server_filter.c
@@ -37,7 +37,7 @@
 #include <grpc/support/log.h>
 #include <string.h>
 #include "src/core/lib/profiling/timers.h"
-#include "src/core/lib/support/percent_encoding.h"
+#include "src/core/lib/slice/percent_encoding.h"
 #include "src/core/lib/transport/static_metadata.h"
 
 #define EXPECTED_CONTENT_TYPE "application/grpc"
@@ -90,10 +90,10 @@ typedef struct {
 static grpc_mdelem *server_filter_outgoing_metadata(void *user_data,
                                                     grpc_mdelem *md) {
   if (md->key == GRPC_MDSTR_GRPC_MESSAGE) {
-    gpr_slice pct_encoded_msg = gpr_percent_encode_slice(
-        md->value->slice, gpr_compatible_percent_encoding_unreserved_bytes);
-    if (gpr_slice_is_equivalent(pct_encoded_msg, md->value->slice)) {
-      gpr_slice_unref(pct_encoded_msg);
+    grpc_slice pct_encoded_msg = grpc_percent_encode_slice(
+        md->value->slice, grpc_compatible_percent_encoding_unreserved_bytes);
+    if (grpc_slice_is_equivalent(pct_encoded_msg, md->value->slice)) {
+      grpc_slice_unref(pct_encoded_msg);
       return md;
     } else {
       return grpc_mdelem_from_metadata_strings(