diff --git a/src/operator/MatMul.cpp b/src/operator/MatMul.cpp
index 4c7195af28f15add22e82149091e94943c7f460d..f48c7ca81d6abd1d5150f54eb7d98bf109307d33 100644
--- a/src/operator/MatMul.cpp
+++ b/src/operator/MatMul.cpp
@@ -47,10 +47,10 @@ void Aidge::MatMul_Op::computeOutputDims() {
 
 
         if (dims0.size() > dims1.size()) {
-            dims1.insert(dims1.cbegin(), dims0.begin(), dims0.end() - dims1.size());
+            dims1.insert(dims1.cbegin(), dims0.size() - dims1.size(), std::size_t(1));
         }
         else if (dims1.size() > dims0.size()) {
-            dims0.insert(dims0.cbegin(), dims1.begin(), dims1.end() - dims0.size());
+            dims0.insert(dims0.cbegin(), dims1.size() - dims0.size(), std::size_t(1));
         }
 
         AIDGE_ASSERT(dims0[dims_size-1] == dims1[dims_size-2], "Incompatible matrices sizes.");