diff --git a/lib/oxidized/nodes.rb b/lib/oxidized/nodes.rb
index <HASH>..<HASH> 100644
--- a/lib/oxidized/nodes.rb
+++ b/lib/oxidized/nodes.rb
@@ -4,7 +4,7 @@ module Oxidized
   class Oxidized::NotSupported < OxidizedError; end
   class Oxidized::NodeNotFound < OxidizedError; end
   class Nodes < Array
-    attr_accessor :source
+    attr_accessor :source, :jobs
     alias :put :unshift
     def load node_want=nil
       with_lock do
@@ -73,6 +73,7 @@ module Oxidized
           # set last job to nil so that the node is picked for immediate update
           n.last = nil
           put n
+          jobs.want += 1
         end
       end
     end
diff --git a/lib/oxidized/worker.rb b/lib/oxidized/worker.rb
index <HASH>..<HASH> 100644
--- a/lib/oxidized/worker.rb
+++ b/lib/oxidized/worker.rb
@@ -3,8 +3,9 @@ module Oxidized
   require 'oxidized/jobs'
   class Worker
     def initialize nodes
-      @nodes   = nodes
-      @jobs    = Jobs.new(Oxidized.config.threads, Oxidized.config.interval, @nodes)
+      @nodes      = nodes
+      @jobs       = Jobs.new(Oxidized.config.threads, Oxidized.config.interval, @nodes)
+      @nodes.jobs = @jobs
       Thread.abort_on_exception = true
     end
add one thread when requesting next via API