diff --git a/src/scheduler/Scheduler.cpp b/src/scheduler/Scheduler.cpp
index 34aea5ffd909f57e4834deeed6d0bdc2664d4644..88aebb3ba64e3745e325e4752a425064a3985646 100644
--- a/src/scheduler/Scheduler.cpp
+++ b/src/scheduler/Scheduler.cpp
@@ -300,19 +300,23 @@ std::vector<Aidge::Scheduler::StaticSchedulingElement*> Aidge::Scheduler::genera
 void Aidge::Scheduler::summarizeConsumerState(const std::shared_ptr<Aidge::Node>& consumer, const std::string& nodeName) const {
     Log::debug("\t- consumer: {}", fmt::styled(nodeName, fg(fmt::color::orange)));
     std::string crLog = "\t\tC/R:\t";
-    for (IOIndex_t inId = 0; inId < consumer->nbInputs() - 1; ++inId) {
-        crLog += fmt::format("{}/{}\n\t\t\t", consumer->getOperator()->getNbConsumedData(inId),
-                consumer->getOperator()->getNbRequiredData(inId));
+    if (consumer->nbInputs() > 0) {
+        for (IOIndex_t inId = 0; inId < consumer->nbInputs() - 1; ++inId) {
+            crLog += fmt::format("{}/{}\n\t\t\t", consumer->getOperator()->getNbConsumedData(inId),
+                                 consumer->getOperator()->getNbRequiredData(inId));
+        }
+        crLog += fmt::format("{}/{}", consumer->getOperator()->getNbConsumedData(static_cast<IOIndex_t>(consumer->nbInputs()) - 1),
+                             consumer->getOperator()->getNbRequiredData(static_cast<IOIndex_t>(consumer->nbInputs()) - 1));
     }
-    crLog += fmt::format("{}/{}", consumer->getOperator()->getNbConsumedData(static_cast<IOIndex_t>(consumer->nbInputs()) - 1),
-            consumer->getOperator()->getNbRequiredData(static_cast<IOIndex_t>(consumer->nbInputs()) - 1));
     Log::debug("{}", crLog);
 
     std::string pLog = "\t\tP:\t";
-    for (IOIndex_t outId = 0; outId < consumer->nbOutputs() - 1; ++outId) {
-        pLog += fmt::format("{}\n\t\t\t", consumer->getOperator()->getNbProducedData(outId));
+    if (consumer->nbOutputs() > 0) {
+        for (IOIndex_t outId = 0; outId < consumer->nbOutputs() - 1; ++outId) {
+            pLog += fmt::format("{}\n\t\t\t", consumer->getOperator()->getNbProducedData(outId));
+        }
+        pLog += fmt::format("{}", consumer->getOperator()->getNbProducedData(static_cast<IOIndex_t>(consumer->nbOutputs()) - 1));
     }
-    pLog += fmt::format("{}", consumer->getOperator()->getNbProducedData(static_cast<IOIndex_t>(consumer->nbOutputs()) - 1));
     Log::debug("{}", pLog);
 }