diff --git a/python/pyspark/context.py b/python/pyspark/context.py
index 77710a13394c6df53ac0423d5f56aff2c1e22662..529d16b480399a6d5f21740abce5d6f704667ec1 100644
--- a/python/pyspark/context.py
+++ b/python/pyspark/context.py
@@ -222,6 +222,7 @@ class SparkContext(object):
         # create a signal handler which would be invoked on receiving SIGINT
         def signal_handler(signal, frame):
             self.cancelAllJobs()
+            raise KeyboardInterrupt()
 
         # see http://stackoverflow.com/questions/23206787/
         if isinstance(threading.current_thread(), threading._MainThread):