diff --git a/src/graph/Node.cpp b/src/graph/Node.cpp
index b08bb4c2056e8c14f5b1dd3aae62fbacf8d8c14e..d8ae5532239e34874ed4195c5a5be629b064e77d 100644
--- a/src/graph/Node.cpp
+++ b/src/graph/Node.cpp
@@ -39,10 +39,9 @@ Aidge::Node::Node(std::shared_ptr<Operator> op, const std::string& name)
 
 Aidge::Connector Aidge::Node::operator()(const std::vector<Connector>& ctors) {
     assert((ctors.size() == nbData()) && "Wrong number of arguments.\n");
-    for (std::pair<std::shared_ptr<Node>, IOIndex_t>& input : inputs()) {
-        assert((gk_IODefaultIndex == input.second) &&
+    for (std::size_t i = 0; i < nbData(); i++) {
+        assert((gk_IODefaultIndex == input(i).second) &&
                "At least one input connection is not free.\n");
-        (void)input;  // avoid unused warning
     }
     IOIndex_t i = 0;
     for (const Connector& ctor : ctors) {