diff --git a/arm_compute/runtime/NEON/NEFunctions.h b/arm_compute/runtime/NEON/NEFunctions.h
index 1531377e..8091acd 100644
--- a/arm_compute/runtime/NEON/NEFunctions.h
+++ b/arm_compute/runtime/NEON/NEFunctions.h
@@ -109,6 +109,6 @@
 #include "arm_compute/runtime/NEON/functions/NETranspose.h"
 #include "arm_compute/runtime/NEON/functions/NEWarpAffine.h"
 #include "arm_compute/runtime/NEON/functions/NEWarpPerspective.h"
-#include "arm_compute/runtime/NEON/functions/NEWinogradLayer.h"
+#include "arm_compute/runtime/NEON/functions/NEWinogradConvolutionLayer.h"
 
 #endif /* __ARM_COMPUTE_NEFUNCTIONS_H__ */
diff --git a/arm_compute/runtime/NEON/functions/NEConvolutionLayer.h b/arm_compute/runtime/NEON/functions/NEConvolutionLayer.h
index 220d1cb..ce9a3ed 100644
--- a/arm_compute/runtime/NEON/functions/NEConvolutionLayer.h
+++ b/arm_compute/runtime/NEON/functions/NEConvolutionLayer.h
@@ -30,7 +30,7 @@
 #include "arm_compute/runtime/MemoryGroup.h"
 #include "arm_compute/runtime/NEON/functions/NEDirectConvolutionLayer.h"
 #include "arm_compute/runtime/NEON/functions/NEGEMMConvolutionLayer.h"
-#include "arm_compute/runtime/NEON/functions/NEWinogradLayer.h"
+#include "arm_compute/runtime/NEON/functions/NEWinogradConvolutionLayer.h"
 #include <memory>
 
 namespace arm_compute
@@ -38,9 +38,9 @@
 class ITensor;
 
 /** Basic function to simulate a convolution layer. This function calls one of the following NEON functions:
- * -# @ref NEGEMMConvolutionLayer   (executed only in case GEMM is required for the operation)
- * -# @ref NEWinogradLayer (executed only in case Winograd is required for the operation)
- * -# @ref NEDirectConvolutionLayer (executed only in case Direct Convolution is required for the operation)
+ * -# @ref NEGEMMConvolutionLayer     (executed only in case GEMM is required for the operation)
+ * -# @ref NEWinogradConvolutionLayer (executed only in case Winograd is required for the operation)
+ * -# @ref NEDirectConvolutionLayer   (executed only in case Direct Convolution is required for the operation)
  */
 class NEConvolutionLayer : public IFunction
 {
diff --git a/arm_compute/runtime/NEON/functions/NEWinogradLayer.h b/arm_compute/runtime/NEON/functions/NEWinogradConvolutionLayer.h
similarity index 92%
rename from arm_compute/runtime/NEON/functions/NEWinogradLayer.h
rename to arm_compute/runtime/NEON/functions/NEWinogradConvolutionLayer.h
index 8010810..037c74c 100644
--- a/arm_compute/runtime/NEON/functions/NEWinogradLayer.h
+++ b/arm_compute/runtime/NEON/functions/NEWinogradConvolutionLayer.h
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#ifndef __ARM_COMPUTE_NEWINOGRADLAYER_H__
-#define __ARM_COMPUTE_NEWINOGRADLAYER_H__
+#ifndef __ARM_COMPUTE_NEWINOGRADCONVOLUTIONLAYER_H__
+#define __ARM_COMPUTE_NEWINOGRADCONVOLUTIONLAYER_H__
 
 #include "arm_compute/runtime/IFunction.h"
 
@@ -46,11 +46,11 @@
  * -# @ref NEWinogradLayerBatchedGEMMKernel
  * -# @ref CPPPermute (three times: weights, input and output)
  */
-class NEWinogradLayer : public IFunction
+class NEWinogradConvolutionLayer : public IFunction
 {
 public:
     /** Constructor */
-    NEWinogradLayer(std::shared_ptr<IMemoryManager> memory_manager = nullptr);
+    NEWinogradConvolutionLayer(std::shared_ptr<IMemoryManager> memory_manager = nullptr);
 
     /** Set the input and output tensors.
      *
@@ -89,9 +89,9 @@
                            const ActivationLayerInfo &act_info = ActivationLayerInfo());
 
     /** Prevent instances of this class from being copied (As this class contains pointers) */
-    NEWinogradLayer(const NEWinogradLayer &) = delete;
+    NEWinogradConvolutionLayer(const NEWinogradConvolutionLayer &) = delete;
     /** Prevent instances of this class from being copied (As this class contains pointers) */
-    NEWinogradLayer &operator=(const NEWinogradLayer &) = delete;
+    NEWinogradConvolutionLayer &operator=(const NEWinogradConvolutionLayer &) = delete;
 
 private:
     MemoryGroup _memory_group;
@@ -119,4 +119,4 @@
     bool           _is_activationlayer_enabled;
 };
 }
-#endif /* __ARM_COMPUTE_NEWINOGRADLAYER_H__ */
+#endif /* __ARM_COMPUTE_NEWINOGRADCONVOLUTIONLAYER_H__ */
