diff --git a/arm_compute/runtime/CL/functions/CLConcatenateLayer.h b/arm_compute/runtime/CL/functions/CLConcatenateLayer.h
index 25a0153..5cf09c8 100644
--- a/arm_compute/runtime/CL/functions/CLConcatenateLayer.h
+++ b/arm_compute/runtime/CL/functions/CLConcatenateLayer.h
@@ -77,13 +77,9 @@
     void run() override;
 
 private:
-    void configure_h_concatenate(std::vector<ICLTensor *> inputs_vector, ICLTensor *output);
-    static Status validate_h_concatenate(const std::vector<ITensorInfo *> &inputs_vector, const ITensorInfo *output);
-
-    std::unique_ptr<IFunction>                        _concat_function;
-    std::unique_ptr<CLHeightConcatenateLayerKernel[]> _hconcat_kernels;
-    unsigned int                                      _num_inputs;
-    unsigned int                                      _axis;
+    std::vector<std::unique_ptr<ICLKernel>> _concat_kernels;
+    unsigned int                            _num_inputs;
+    unsigned int                            _axis;
 };
 }
 #endif /* __ARM_COMPUTE_CLCONCATENATELAYER_H__ */
diff --git a/arm_compute/runtime/CL/functions/CLDepthConcatenateLayer.h b/arm_compute/runtime/CL/functions/CLDepthConcatenateLayer.h
index aef5d63..33f751f 100644
--- a/arm_compute/runtime/CL/functions/CLDepthConcatenateLayer.h
+++ b/arm_compute/runtime/CL/functions/CLDepthConcatenateLayer.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017-2018 ARM Limited.
+ * Copyright (c) 2017-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -41,6 +41,8 @@
 
 /** Basic function to execute concatenate tensors along z axis. This function calls the following kernels:
  *
+ * @deprecated This function is deprecated and will be removed in release 19.08
+ *
  * -# @ref CLFillBorderKernel (executed if input's lowest two dimensions are smaller than respective output's dimensions)
  * -# @ref CLDepthConcatenateLayerKernel
  *
diff --git a/arm_compute/runtime/CL/functions/CLWidthConcatenateLayer.h b/arm_compute/runtime/CL/functions/CLWidthConcatenateLayer.h
index 55b65da..a87ec30 100644
--- a/arm_compute/runtime/CL/functions/CLWidthConcatenateLayer.h
+++ b/arm_compute/runtime/CL/functions/CLWidthConcatenateLayer.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 ARM Limited.
+ * Copyright (c) 2018-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -42,6 +42,8 @@
 
 /** Basic function to execute concatenate tensors along x axis. This function calls the following kernel:
  *
+ * @deprecated This function is deprecated and will be removed in release 19.08
+ *
  * -# @ref CLWidthConcatenateLayerKernel
  * -# @ref CLWidthConcatenate2TensorsKernel (if there are exactly 2 input tensors)
  * -# @ref CLWidthConcatenate4TensorsKernel (if there are exactly 4 input tensors)
