diff --git a/src/operator/Memorize.cpp b/src/operator/Memorize.cpp
index 76d3ddd22e113f087f5afc0ebb358edce0b0fc32..4878ff291a549ab1c2cc787e10b7032ea2a42217 100644
--- a/src/operator/Memorize.cpp
+++ b/src/operator/Memorize.cpp
@@ -91,7 +91,7 @@ Aidge::Memorize_Op::Memorize_Op(const Aidge::Memorize_Op& op)
     : OperatorTensor(op),
         mAttributes(op.mAttributes)
 {
-    if (op.mImpl) {
+    if (!op.backend().empty()) {
         SET_IMPL_MACRO(Memorize_Op, *this, op.backend());
     } else {
         mImpl = nullptr;