diff --git a/mininet/node.py b/mininet/node.py
index 4eb27ade799cde27dac327a65e6634da610c745c..48424e70cf6faaee50943fcdf5123a7d06cf5381 100644
--- a/mininet/node.py
+++ b/mininet/node.py
@@ -329,7 +329,10 @@ def popen( self, *args, **kwargs ):
         # Shell requires a string, not a list!
         if defaults.get( 'shell', False ):
             cmd = ' '.join( cmd )
-        return Popen( cmd, **defaults )
+        old = signal.signal( signal.SIGINT, signal.SIG_IGN )
+        popen = Popen( cmd, **defaults )
+        signal.signal( signal.SIGINT, old )
+        return popen
 
     def pexec( self, *args, **kwargs ):
         """Execute a command using popen