diff --git a/include/aidge/operator/Producer.hpp b/include/aidge/operator/Producer.hpp
index 1e082e73ac8576262555581f80c9f104f865e7b0..fe9b044e2309eb7e724d6648b84c044d7407bafb 100644
--- a/include/aidge/operator/Producer.hpp
+++ b/include/aidge/operator/Producer.hpp
@@ -110,7 +110,7 @@ public:
         if (getAttr<ProdAttr::Constant>()) {
             AIDGE_THROW_OR_ABORT(std::runtime_error, "Producer is constant, cannot update output.");
         }
-        OperatorTensor::setOutput(outputIdx, data);
+        OperatorTensor::setOutput(outputIdx, std::move(data));
     }
 
     void setOutput(const Aidge::IOIndex_t outputIdx, const std::shared_ptr<Aidge::Data>& data) override {