diff --git a/include/aidge/operator/Concat.hpp b/include/aidge/operator/Concat.hpp
index 06cc468bd7266bbcfeb6802f274c536ec09867fc..08df7822abe0b4022074f16af9ca8356c327eba3 100644
--- a/include/aidge/operator/Concat.hpp
+++ b/include/aidge/operator/Concat.hpp
@@ -86,15 +86,21 @@ public:
             if (!getInput(i)) {
                 AIDGE_THROW_OR_ABORT(std::runtime_error, "Every input should be associated with a Tensor");
             }
-            associated &= (getInput(i)->nbDims() == firstInputNbDims);
-            for (DimSize_t dim = 0; dim < firstInputNbDims; ++dim) {
-                if (dim == getAttr<ConcatAttr::Axis>()) {
-                    outputDims[dim] += getInput(i)->dims()[dim];
-                }
-                else {
-                    associated &= (getInput(i)->dims()[dim] == outputDims[dim]);
+
+            if (getInput(i)->nbDims() == firstInputNbDims) {
+                for (DimSize_t dim = 0; dim < firstInputNbDims; ++dim) {
+                    if (dim == getAttr<ConcatAttr::Axis>()) {
+                        outputDims[dim] += getInput(i)->dims()[dim];
+                    }
+                    else {
+                        associated &= (getInput(i)->dims()[dim] == outputDims[dim]);
+                    }
                 }
             }
+            else {
+                associated = false;
+                break;
+            }
         }
         if (associated) {
             getOutput(0)->resize(outputDims);