diff --git a/src/graph/GraphView.cpp b/src/graph/GraphView.cpp
index 005a7e679da5941d0995204b6c2a28a01ce376b4..34a6e8c5526804ced3b6ff0f0340a219998d87d4 100644
--- a/src/graph/GraphView.cpp
+++ b/src/graph/GraphView.cpp
@@ -912,6 +912,13 @@ bool Aidge::GraphView::replace(const std::shared_ptr<GraphView>& oldG, const std
                 for (std::size_t i = 0; i < oldOI.size(); ++i) {
                     if (inputParents[i].first)
                         inputParents[i].first -> addChild(outputChildren[i].first, inputParents[i].second, outputChildren[i].second);
+                    if (inputParents[i].first) {
+                      inputParents[i].first -> addChild(outputChildren[i].first, inputParents[i].second, outputChildren[i].second);
+                    } else {
+                      for (auto & view : commonGraphViews){
+                        view->setRootNode( outputChildren[i].first);
+                      }
+                    }
                 }
             }
             else if ((oldOI.size() == 1) && (inputParents[0].first)) {