diff --git a/lib/qbwc/job.rb b/lib/qbwc/job.rb
index <HASH>..<HASH> 100644
--- a/lib/qbwc/job.rb
+++ b/lib/qbwc/job.rb
@@ -92,7 +92,7 @@ class QBWC::Job
 
   def reset
     self.request_index = 0
-    #self.requests = []
+    self.requests = [] unless self.requests_provided_when_job_added
   end
 
 end
diff --git a/test/qbwc/integration/request_generation_test.rb b/test/qbwc/integration/request_generation_test.rb
index <HASH>..<HASH> 100644
--- a/test/qbwc/integration/request_generation_test.rb
+++ b/test/qbwc/integration/request_generation_test.rb
@@ -77,6 +77,16 @@ class RequestGenerationTest < ActionDispatch::IntegrationTest
     assert_nil session.next
 
     assert_equal 1, $MULTIPLE_REQUESTS_INVOKED_COUNT
+
+    # requests should be generated once per session
+    session2 = QBWC::Session.new('foo', '')
+    assert_not_nil session2.next
+    simulate_response(session2)
+    assert_not_nil session2.next
+    simulate_response(session2)
+    assert_nil session2.next
+
+    assert_equal 2, $MULTIPLE_REQUESTS_INVOKED_COUNT
   end
 
   test 'multiple jobs' do
Worker requests should be generated once per session