diff --git a/src/main/java/ui/tmlcompd/TMLCCompositeComponent.java b/src/main/java/ui/tmlcompd/TMLCCompositeComponent.java
index c4b1c8cbf991b426dcb9841bf097a62752643c16..da5ed0ccc86bad8c114fb06e144c8c7bc24c427b 100755
--- a/src/main/java/ui/tmlcompd/TMLCCompositeComponent.java
+++ b/src/main/java/ui/tmlcompd/TMLCCompositeComponent.java
@@ -290,6 +290,24 @@ public class TMLCCompositeComponent extends TGCScalableWithInternalComponent imp
 				}
 			}
         }
+
+		//issue 188 : attach primitive port into primitive component starting at the third level
+		if ((!swallowed) && (tgc instanceof TMLCPrimitivePort)) {
+			List<TMLCPrimitiveComponent> pcList = getAllPrimitiveComponents();
+			for(TMLCPrimitiveComponent tmlpc : pcList) {
+				if(((SwallowTGComponent)tmlpc).acceptSwallowedTGComponent(tgc)) {
+					if(tmlpc.isOnMe(x,y) != null) {
+						swallowed = true;
+						((SwallowTGComponent)tmlpc).addSwallowedTGComponent(tgc, x, y);
+						break;
+					}
+				}
+			}
+			if (swallowed) {
+				return true;
+			}
+		}
+		//------------
 		
 		if (swallowed) {
 			return true;