diff --git a/hyracks/hyracks-control-nc/src/main/java/edu/uci/ics/hyracks/control/nc/NodeControllerService.java b/hyracks/hyracks-control-nc/src/main/java/edu/uci/ics/hyracks/control/nc/NodeControllerService.java
index 239fee1..6a91730 100644
--- a/hyracks/hyracks-control-nc/src/main/java/edu/uci/ics/hyracks/control/nc/NodeControllerService.java
+++ b/hyracks/hyracks-control-nc/src/main/java/edu/uci/ics/hyracks/control/nc/NodeControllerService.java
@@ -583,6 +583,11 @@
         Joblet ji = jobletMap.get(jobId);
         if (ji != null) {
             if (ji.getAttempt() == attempt) {
+                for (Stagelet stagelet : ji.getStageletMap().values()) {
+                    stagelet.abort();
+                    stagelet.close();
+                    connectionManager.abortConnections(jobId, stagelet.getStageId());
+                }
                 Joblet joblet = jobletMap.remove(jobId);
                 joblet.waitForPendingOperators();
                 IJobletEventListener listener = joblet.getJobletEventListener();
@@ -590,11 +595,6 @@
                     listener.jobletFinish(false);
                 }
             }
-            for (Stagelet stagelet : ji.getStageletMap().values()) {
-                stagelet.abort();
-                stagelet.close();
-                connectionManager.abortConnections(jobId, stagelet.getStageId());
-            }
         }
     }
 
