diff --git a/arm_compute/core/NEON/kernels/NEGenerateProposalsLayerKernel.h b/arm_compute/core/NEON/kernels/NEGenerateProposalsLayerKernel.h
index a7b2603..9ee9d5d 100644
--- a/arm_compute/core/NEON/kernels/NEGenerateProposalsLayerKernel.h
+++ b/arm_compute/core/NEON/kernels/NEGenerateProposalsLayerKernel.h
@@ -53,7 +53,7 @@
 
     /** Set the input and output tensors.
      *
-     * @param[in]  anchors     Source tensor. Original set of anchors of size (4, A), where A is the number of anchors. Data types supported: F16/F32
+     * @param[in]  anchors     Source tensor. Original set of anchors of size (4, A), where A is the number of anchors. Data types supported: QSYMM16/F16/F32
      * @param[out] all_anchors Destination tensor. Destination anchors of size (4, H*W*A) where H and W are the height and width of the feature map and A is the number of anchors. Data types supported: Same as @p input
      * @param[in]  info        Contains Compute Anchors operation information described in @ref ComputeAnchorsInfo
      *
@@ -62,7 +62,7 @@
 
     /** Static function to check if given info will lead to a valid configuration of @ref NEComputeAllAnchorsKernel
      *
-     * @param[in] anchors     Source tensor info. Original set of anchors of size (4, A), where A is the number of anchors. Data types supported: F16/F32
+     * @param[in] anchors     Source tensor info. Original set of anchors of size (4, A), where A is the number of anchors. Data types supported: QSYMM16/F16/F32
      * @param[in] all_anchors Destination tensor info. Destination anchors of size (4, H*W*A) where H and W are the height and width of the feature map and A is the number of anchors. Data types supported: Same as @p input
      * @param[in] info        Contains Compute Anchors operation information described in @ref ComputeAnchorsInfo
      *
@@ -74,6 +74,9 @@
     void run(const Window &window, const ThreadInfo &info) override;
 
 private:
+    template <typename T>
+    void internal_run(const Window &window, const ThreadInfo &info);
+
     const ITensor     *_anchors;
     ITensor           *_all_anchors;
     ComputeAnchorsInfo _anchors_info;
