diff --git a/include/aidge/backend/cpu/operator/ConvImpl_kernels.hpp b/include/aidge/backend/cpu/operator/ConvImpl_kernels.hpp
index f516a251ed9cea0ec3a14748f8216f960f80b7e2..489e478b820f7e3f22f6225357f906a70e0016e2 100644
--- a/include/aidge/backend/cpu/operator/ConvImpl_kernels.hpp
+++ b/include/aidge/backend/cpu/operator/ConvImpl_kernels.hpp
@@ -633,8 +633,8 @@ void ConvImpl2D_cpu_forward_kernel(const array<DimSize_t, 2> &strideDims,
                                      iIndex_channel +=
                                      inputDims[3] * strideDims[0]) {
                         // loop over associated input line
-                        for (std::size_t ky = 0, ix = 0; ky < kernelDims[1];
-                             ++ky, ix += inputDims[3] * dilationDims[0]) {
+                        for (std::size_t kx = 0, ix = 0; kx < kernelDims[0];
+                             ++kx, ix += inputDims[3] * dilationDims[0]) {
                             // loop over the entire line
                             for (std::size_t oy = 0, iy = 0; oy < oySize;
                                  ++oy, iy += strideDims[1]) {
@@ -642,12 +642,12 @@ void ConvImpl2D_cpu_forward_kernel(const array<DimSize_t, 2> &strideDims,
                                     iIndex_channel + ix + iy;
                                 // loop over elements assosicated with one
                                 // output
-                                for (std::size_t kx = 0; kx < kernelDims[0];
-                                     ++kx) {
+                                for (std::size_t ky = 0; ky < kernelDims[1];
+                                     ++ky) {
                                     output[oIndex + oy] +=
-                                        weights[wIndex + kernelDims[0] * ky +
-                                                kx] *
-                                        input[iIndex + kx * dilationDims[1]];
+                                        weights[wIndex + kernelDims[1] * kx +
+                                                ky] *
+                                        input[iIndex + ky * dilationDims[1]];
                                 }
                             }
                         }