diff --git a/mininet/clean.py b/mininet/clean.py
index 675c7d7e6e82069d11b1a1b2be32bc0f642a1724..9b0d6aa83de53c614a880d6887ef709a2dc70c8e 100755
--- a/mininet/clean.py
+++ b/mininet/clean.py
@@ -69,4 +69,18 @@ def cleanup():
         if link:
             sh( "ip link del " + link )
 
+    info( "*** Killing stale mininet node processes\n" )
+    sh( 'pkill -9 -f mininet:' )
+    # Make sure they are gone
+    while True:
+        try:
+            pids = co( 'pgrep -f mininet:'.split() )
+        except:
+            pids = ''
+        if pids:
+            sh( 'pkill -f 9 mininet:' )
+            sleep( .5 )
+        else:
+            break
+
     info( "*** Cleanup complete.\n" )