diff --git a/src/scheduler/Scheduler.cpp b/src/scheduler/Scheduler.cpp
index 0e8cba07ea25ed38e3a93b3416529876ea3bceea..396e90c091fb62b406ecd336d7e2d29e82c74b33 100644
--- a/src/scheduler/Scheduler.cpp
+++ b/src/scheduler/Scheduler.cpp
@@ -989,7 +989,7 @@ Aidge::Scheduler::getPriorProducersConsumers(const std::shared_ptr<Node>& node)
                     prior.requiredProducers.insert(parent.first);
                     prior.priorConsumers.insert(node);
                 }
-                else if (parent.first->type() == Memorize_Op::Type) {
+                else if (parent.first->type() == Memorize_Op::Type && parent.second == 1) {
                     // Break cycles
                     return PriorProducersConsumers(); // not scheduled
                 }