diff --git a/src/operator/Pad.cpp b/src/operator/Pad.cpp
index ba762da5737e986941e0c72196503415f7af29b7..a0b5f2df52e373bd92dd57cc621318f2abbb45c9 100644
--- a/src/operator/Pad.cpp
+++ b/src/operator/Pad.cpp
@@ -34,9 +34,9 @@ bool Aidge::Pad_Op<DIM>::forwardDims(bool /*allowDataDependency*/) {
         const std::array<DimSize_t, DIM + 2> inputDims = getInput(0)->template dims<DIM+2>();
 
         for (std::size_t dim = 0; dim < DIM; ++dim) {
-            outputDims[dim+2] = mAttributes->template getAttr<PadAttr::BeginEndBorders>()[2*dim]
+            outputDims[dim+2] = mAttributes->template getAttr<PadAttr::BeginEndBorders>()[dim]
                                 + inputDims[dim+2]
-                                + mAttributes->template getAttr<PadAttr::BeginEndBorders>()[2*dim+1];
+                                + mAttributes->template getAttr<PadAttr::BeginEndBorders>()[DIM+dim];
         }
         outputDims[1] = inputDims[1];
         outputDims[0] = inputDims[0];