diff --git a/examples/cluster.py b/examples/cluster.py
index 14ecbfbc76884a25bfd52364ec863adc5a645401..68ab10b724d76c4a6dad271c73e393ad18093eb2 100755
--- a/examples/cluster.py
+++ b/examples/cluster.py
@@ -256,6 +256,13 @@ def addIntf( self, *args, **kwargs ):
         return super( RemoteMixin, self).addIntf( *args,
                         moveIntfFn=RemoteLink.moveIntf, **kwargs )
 
+    def cleanup( self ):
+        "Help python collect its garbage."
+        # Intfs may end up in root NS
+        for intfName in self.intfNames():
+            if self.name in intfName:
+                self.rcmd( 'ip link del ' + intfName )
+        self.shell = None
 
 class RemoteNode( RemoteMixin, Node ):
     "A node on a remote server"