diff --git a/src/graph/GraphView.cpp b/src/graph/GraphView.cpp
index 273825172c4c963d1d7076dfd20bba409b620893..55fe69678d7d6582f13c48a285fb4f7bfa2a1419 100644
--- a/src/graph/GraphView.cpp
+++ b/src/graph/GraphView.cpp
@@ -964,7 +964,7 @@ bool Aidge::GraphView::replace(const std::shared_ptr<GraphView>& oldGraph, const
             }
         }
         for (std::size_t o = 0; o < oldOOut.size(); ++o) {
-            for (const auto child : outputChildren[o]) {
+            for (const auto& child : outputChildren[o]) {
                 newOOut[o].first -> addChild(child.first, newOOut[o].second, child.second);
             }
         }
@@ -978,7 +978,7 @@ bool Aidge::GraphView::replace(const std::shared_ptr<GraphView>& oldGraph, const
                 // Same number of inputs and outputs: connect each input to the corresponding output
                 for (std::size_t i = 0; i < oldOIn.size(); ++i) {
                     if (inputParents[i].first) {
-                      for (const auto child : outputChildren[i]) {
+                      for (const auto& child : outputChildren[i]) {
                         inputParents[i].first -> addChild(child.first, inputParents[i].second, child.second);
                       }
                     }
@@ -987,7 +987,7 @@ bool Aidge::GraphView::replace(const std::shared_ptr<GraphView>& oldGraph, const
             else if ((oldOIn.size() == 1) && (inputParents[0].first)) {
                 // Single input: connect the only input to all the outputs
                 for (std::size_t i = 0; i < oldOOut.size(); ++i) {
-                    for (const auto child : outputChildren[i]) {
+                    for (const auto& child : outputChildren[i]) {
                         inputParents[0].first -> addChild(child.first, inputParents[0].second, child.second);
                     }
                 }
@@ -1010,7 +1010,7 @@ bool Aidge::GraphView::replace(const std::shared_ptr<GraphView>& oldGraph, const
                 }
             }
             for (std::size_t o = 0; o < oldOOut.size(); ++o) {
-                for (const auto child : outputChildren[o]) {
+                for (const auto& child : outputChildren[o]) {
                     newOOut[o].first -> addChild(child.first, newOOut[o].second, child.second);
                 }
             }