diff --git a/include/aidge/operator/Producer.hpp b/include/aidge/operator/Producer.hpp
index fe9b044e2309eb7e724d6648b84c044d7407bafb..8dde6e0322b05a61c6fd58f876d0278f5fcc428d 100644
--- a/include/aidge/operator/Producer.hpp
+++ b/include/aidge/operator/Producer.hpp
@@ -51,6 +51,8 @@ public:
         : OperatorTensor(Type, 0, 0, 1),
         Attributes_(attr<ProdAttr::Constant>(constant))
     {
+        if (tensor->getImpl())
+            mImpl = Registrar<Producer_Op>::create(tensor->getImpl()->backend())(*this);
         mOutputs[0] = tensor; // copy the pointer of the Tensor
     }