diff --git a/core/src/main/scala/org/apache/spark/scheduler/cluster/SparkDeploySchedulerBackend.scala b/core/src/main/scala/org/apache/spark/scheduler/cluster/SparkDeploySchedulerBackend.scala
index 9768670855f8021b33af902fbd1398fd60e5f72c..9c07b3f7b695a632e5921fa25065d76f0f4f1610 100644
--- a/core/src/main/scala/org/apache/spark/scheduler/cluster/SparkDeploySchedulerBackend.scala
+++ b/core/src/main/scala/org/apache/spark/scheduler/cluster/SparkDeploySchedulerBackend.scala
@@ -88,6 +88,8 @@ private[spark] class SparkDeploySchedulerBackend(
     if (!stopping) {
       logError("Application has been killed. Reason: " + reason)
       scheduler.error(reason)
+      // Ensure the application terminates, as we can no longer run jobs.
+      sc.stop()
     }
   }