diff --git a/test/test_sfg.py b/test/test_sfg.py
index 508782e126424d819b4371ebff2dd75cb8751757..fb7e22e1a58ea647245446832d9acda3858f187e 100644
--- a/test/test_sfg.py
+++ b/test/test_sfg.py
@@ -945,6 +945,31 @@ class TestConnectExternalSignalsToComponentsMultipleComp:
         assert test_sfg.evaluate(1, 2, 3, 4) == 16
         assert not test_sfg.connect_external_signals_to_components()
 
+    def test_add_two_sfgs(self):
+        c1 = ConstantMultiplication(0.5)
+        c1_sfg = c1.to_sfg()
+
+        c2 = ConstantMultiplication(0.5)
+        c2_sfg = c2.to_sfg()
+
+        in1 = Input()
+        in2 = Input()
+
+        output = Output(c1_sfg + c2_sfg)
+        c1_sfg << in1
+        c2_sfg << in2
+
+        sfg = SFG([in1, in2], [output])
+        assert not sfg.find_by_type_name(ConstantMultiplication.type_name())
+
+        c1_sfg.connect_external_signals_to_components()
+        sfg = SFG([in1, in2], [output])
+        assert len(sfg.find_by_type_name(ConstantMultiplication.type_name())) == 1
+
+        c2_sfg.connect_external_signals_to_components()
+        sfg = SFG([in1, in2], [output])
+        assert len(sfg.find_by_type_name(ConstantMultiplication.type_name())) == 2
+
 
 class TestTopologicalOrderOperations:
     def test_feedback_sfg(self, sfg_simple_filter):