diff --git a/lib/job.js b/lib/job.js
index 9893c180a402c6145e1b42067bf1e2c3db695170..e5d1e2d6187a3bc87c8e1d1f922d887c49e44abb 100644
--- a/lib/job.js
+++ b/lib/job.js
@@ -359,17 +359,17 @@ Job.prototype.finished = function(){
         function onCompleted(job){
           if(job.jobId === _this.jobId){
             resolve();
+            removeListeners();
+            clearInterval(interval);
           }
-          removeListeners();
-          clearInterval(interval);
         }
 
         function onFailed(job, err){
           if(job.jobId === _this.jobId){
             reject(err);
+            removeListeners();
+            clearInterval(interval);
           }
-          removeListeners();
-          clearInterval(interval);
         }
 
         function removeListeners(){