diff --git a/lib/worker.js b/lib/worker.js
index <HASH>..<HASH> 100644
--- a/lib/worker.js
+++ b/lib/worker.js
@@ -375,6 +375,8 @@ worker.prototype.track = function(callback){
 
 worker.prototype.untrack = function(name, queues, callback){
   var self = this;
+  var jobs = [];
+
   if(self.connection && self.connection.redis){
     self.connection.redis.srem(self.connection.key('workers'), (name + ':' + queues), function(error){
       if(error){
@@ -383,12 +385,16 @@ worker.prototype.untrack = function(name, queues, callback){
         return;
       }
 
-      self.connection.redis.del([
+      [
         self.connection.key('worker', name, self.stringQueues()),
         self.connection.key('worker', name, self.stringQueues(), 'started'),
         self.connection.key('stat', 'failed', name),
         self.connection.key('stat', 'processed', name)
-      ], function(error){
+      ].forEach(function(key){
+        jobs.push(function(done){ self.connection.redis.del(key, done); });
+      });
+
+      async.series(jobs, function(error){
         if(error){ self.emit('error', null, null, error); }
         if(typeof callback === 'function'){ callback(error); }
       });
update worker untrack commands to work across cluster (no multi)