diff --git a/b_asic/signal_flow_graph.py b/b_asic/signal_flow_graph.py
index b4c556079feec8bfd68e135621d9e85b623fb427..405681ea00be50e3614b3093b11b7ad817618ca4 100644
--- a/b_asic/signal_flow_graph.py
+++ b/b_asic/signal_flow_graph.py
@@ -431,6 +431,12 @@ class SFG(AbstractOperation):
                 raise ValueError("Missing destination in signal.")
             destination.clear()
             input_port.signals[0].set_destination(destination)
+            for signal in input_operation.output(0).signals[1:]:
+                other_destination = signal.destination
+                if other_destination is None:
+                    raise ValueError("Missing destination in signal.")
+                other_destination.clear()
+                other_destination.add_signal(Signal(destination.signals[0]))
         # For each output_signal, connect it to the corresponding operation
         for output_port, output_operation in zip(self.outputs, self.output_operations):
             src = output_operation.input(0).signals[0].source