diff --git a/src/cpp/common/channel_filter.h b/src/cpp/common/channel_filter.h
index 93efe0fc3bf761fc9bf2a9deaae392ff73842a5c..f4652cee77171a6aed41059d336d36dfaac5f20f 100644
--- a/src/cpp/common/channel_filter.h
+++ b/src/cpp/common/channel_filter.h
@@ -244,7 +244,7 @@ class CallData {
 
   /// Initializes the call data.
   virtual grpc_error *Init(grpc_exec_ctx *exec_ctx, ChannelData *channel_data,
-                           grpc_channel_element_args *args) {
+                           grpc_call_element_args *args) {
     return GRPC_ERROR_NONE;
   }
 
diff --git a/test/cpp/common/channel_filter_test.cc b/test/cpp/common/channel_filter_test.cc
index 26d341c2b9f30683a9e86a539cfcccf1d0d481d6..0859cc024ba03b0b4676b1cbd8c7ea4e55ebfb0b 100644
--- a/test/cpp/common/channel_filter_test.cc
+++ b/test/cpp/common/channel_filter_test.cc
@@ -43,7 +43,8 @@ class MyChannelData : public ChannelData {
  public:
   MyChannelData() {}
 
-  grpc_error *Init(grpc_exec_ctx *exec_ctx, grpc_channel_element_args *args) {
+  grpc_error *Init(grpc_exec_ctx *exec_ctx, grpc_channel_element_args *args)
+      override {
     (void)args->channel_args;  // Make sure field is available.
     return GRPC_ERROR_NONE;
   }
@@ -54,7 +55,7 @@ class MyCallData : public CallData {
   MyCallData() {}
 
   grpc_error *Init(grpc_exec_ctx *exec_ctx, ChannelData *channel_data,
-                   grpc_call_element_args *args) {
+                   grpc_call_element_args *args) override {
     (void)args->path;  // Make sure field is available.
     return GRPC_ERROR_NONE;
   }