diff --git a/mininet/net.py b/mininet/net.py
index 0102a2e6d561e81320d011fadb539018f9c34de1..fea14d4dc79269def84fe405ec922d0124fe3338 100755
--- a/mininet/net.py
+++ b/mininet/net.py
@@ -342,6 +342,10 @@ def addLink( self, node1, node2, port1=None, port2=None,
         options = dict( params )
         options.setdefault( 'addr1', self.randMac() )
         options.setdefault( 'addr2', self.randMac() )
+        if port1 is not None:
+            options.setdefault( 'port1', port1 )
+        if port2 is not None:
+            options.setdefault( 'port2', port2 )
         cls = self.link if cls is None else cls
         link = cls( node1, node2, **options )
         self.links.append( link )