diff --git a/src/graph/GraphView.cpp b/src/graph/GraphView.cpp
index 16edfab64cfa9b37b350e052a5b23ebbc3de9d31..f7b6b97cdf2e23080e17b3a162b72a327a893ca4 100644
--- a/src/graph/GraphView.cpp
+++ b/src/graph/GraphView.cpp
@@ -522,6 +522,9 @@ bool Aidge::GraphView::forwardDims(const std::vector<std::vector<Aidge::DimSize_
                 }
 
                 if (parentsForwarded && op->forwardDims(allowDataDependency)) {
+                    Log::debug("Dimensions forwarded for node {} (of type {})",
+                        nodePtr->name(), nodePtr->type());
+
                     // Recompute everytime, even if it was already computed in a
                     // previous call of forwardDims(), as the graph may have changed!
                     dimsForwarded.insert(nodePtr);
@@ -532,7 +535,9 @@ bool Aidge::GraphView::forwardDims(const std::vector<std::vector<Aidge::DimSize_
                     }
                 }
                 else {
-                    Log::debug("Unable to forward dimensions for node {} (of type {}) yet", nodePtr->name(), nodePtr->type());
+                    if (parentsForwarded) {
+                        Log::debug("Unable to forward dimensions for node {} (of type {})", nodePtr->name(), nodePtr->type());
+                    }
                     nextList.insert(nodePtr);
                 }
             }
diff --git a/src/operator/GenericOperator.cpp b/src/operator/GenericOperator.cpp
index e8c66085de5bc7c808b7f2307a9a82b22a426bb2..0f90a5a58dbd8d69b847022c336075ecc3f3d553 100644
--- a/src/operator/GenericOperator.cpp
+++ b/src/operator/GenericOperator.cpp
@@ -43,6 +43,7 @@ Aidge::GenericOperator_Op::GenericOperator_Op(const std::string& type,
 
 Aidge::GenericOperator_Op::GenericOperator_Op(const Aidge::GenericOperator_Op& op)
     : OperatorTensor(op),
+        mForwardDims(op.mForwardDims),
         mAttributes(op.attributes() ? op.mAttributes : std::make_shared<DynamicAttributes>())
 {
     mImpl = std::make_shared<OperatorImpl>(*this, op.backend());
diff --git a/src/operator/MetaOperator.cpp b/src/operator/MetaOperator.cpp
index e3acba9b4cccdf525d80f85344ba500cc7ac885f..1a71737479f0c98cddcd4d1437012bfb16d2dc85 100644
--- a/src/operator/MetaOperator.cpp
+++ b/src/operator/MetaOperator.cpp
@@ -46,7 +46,7 @@ Aidge::MetaOperator_Op::MetaOperator_Op(const std::string& type, const std::shar
 }
 
 std::shared_ptr<Aidge::Operator> Aidge::MetaOperator_Op::clone() const {
-    return std::make_shared<MetaOperator_Op>(*this);
+    return std::make_shared<MetaOperator_Op>(type(), mGraph->clone());
 }
 
 void Aidge::MetaOperator_Op::associateInput(const IOIndex_t inputIdx, const std::shared_ptr<Data>& data) {