diff --git a/Makefile b/Makefile
index e8635eda2d..6ede6e34d2 100644
--- a/Makefile
+++ b/Makefile
@@ -3214,6 +3214,14 @@ install-headers_cxx:
 	$(E) "[INSTALL] Installing public C++ headers"
 	$(Q) $(foreach h, $(PUBLIC_HEADERS_CXX), $(INSTALL) -d $(prefix)/$(dir $(h)) && ) exit 0 || exit 1
 	$(Q) $(foreach h, $(PUBLIC_HEADERS_CXX), $(INSTALL) $(h) $(prefix)/$(h) && ) exit 0 || exit 1
+	$(Q) $(foreach h, $(PUBLIC_HEADERS_CXX1), $(INSTALL) -d $(prefix)/$(dir $(h)) && ) exit 0 || exit 1
+	$(Q) $(foreach h, $(PUBLIC_HEADERS_CXX1), $(INSTALL) $(h) $(prefix)/$(h) && ) exit 0 || exit 1
+	$(Q) $(foreach h, $(PUBLIC_HEADERS_CXX2), $(INSTALL) -d $(prefix)/$(dir $(h)) && ) exit 0 || exit 1
+	$(Q) $(foreach h, $(PUBLIC_HEADERS_CXX2), $(INSTALL) $(h) $(prefix)/$(h) && ) exit 0 || exit 1
+	$(Q) $(foreach h, $(PUBLIC_HEADERS_CXX3), $(INSTALL) -d $(prefix)/$(dir $(h)) && ) exit 0 || exit 1
+	$(Q) $(foreach h, $(PUBLIC_HEADERS_CXX3), $(INSTALL) $(h) $(prefix)/$(h) && ) exit 0 || exit 1
+	$(Q) $(foreach h, $(PUBLIC_HEADERS_CXX4), $(INSTALL) -d $(prefix)/$(dir $(h)) && ) exit 0 || exit 1
+	$(Q) $(foreach h, $(PUBLIC_HEADERS_CXX4), $(INSTALL) $(h) $(prefix)/$(h) && ) exit 0 || exit 1
 
 install-static: install-static_c install-static_cxx
 
@@ -6190,6 +6198,8 @@ PUBLIC_HEADERS_CXX += \
     include/grpc++/support/stub_options.h \
     include/grpc++/support/sync_stream.h \
     include/grpc++/support/time.h \
+
+PUBLIC_HEADERS_CXX1 += \
     include/grpcpp/alarm.h \
     include/grpcpp/alarm_impl.h \
     include/grpcpp/channel.h \
@@ -6267,6 +6277,8 @@ PUBLIC_HEADERS_CXX += \
     include/grpcpp/grpcpp.h \
     include/grpcpp/health_check_service_interface.h \
     include/grpcpp/health_check_service_interface_impl.h \
+
+PUBLIC_HEADERS_CXX2 += \
     include/grpcpp/impl/call.h \
     include/grpcpp/impl/channel_argument_option.h \
     include/grpcpp/impl/client_unary_call.h \
@@ -6320,6 +6332,8 @@ PUBLIC_HEADERS_CXX += \
     include/grpcpp/impl/server_initializer.h \
     include/grpcpp/impl/server_initializer_impl.h \
     include/grpcpp/impl/service_type.h \
+
+PUBLIC_HEADERS_CXX3 += \
     include/grpcpp/resource_quota.h \
     include/grpcpp/resource_quota_impl.h \
     include/grpcpp/security/auth_context.h \
@@ -6350,6 +6364,8 @@ PUBLIC_HEADERS_CXX += \
     include/grpcpp/server_impl.h \
     include/grpcpp/server_posix.h \
     include/grpcpp/server_posix_impl.h \
+
+PUBLIC_HEADERS_CXX4 += \
     include/grpcpp/support/async_stream.h \
     include/grpcpp/support/async_stream_impl.h \
     include/grpcpp/support/async_unary_call.h \
