diff --git a/lib/rack/spriter.rb b/lib/rack/spriter.rb
index <HASH>..<HASH> 100644
--- a/lib/rack/spriter.rb
+++ b/lib/rack/spriter.rb
@@ -23,7 +23,9 @@ module Rack
     private
     def generate_css(env)
       if Rack::Request.new(env).path =~ %r{stylesheets\/(.+)\.css$}
-        generated_css($1)
+        name = $1
+        spriter_path = File.join(Rails.root, 'public', 'stylesheets', "#{name}.spriter")
+        generated_css($1) if File.exist? spriter_path
       end
     end
 
diff --git a/test/rack_spriter_test.rb b/test/rack_spriter_test.rb
index <HASH>..<HASH> 100644
--- a/test/rack_spriter_test.rb
+++ b/test/rack_spriter_test.rb
@@ -67,4 +67,12 @@ class Rack::SpriterTest < Test::Unit::TestCase
       end
     end
   end
+
+  context "when some css is requested and there is no spriter file" do
+    setup{ get '/stylesheets/nothing.css' }
+    should "delegate" do
+      assert_equal 200, last_response.status
+      assert_equal "all is good", last_response.body
+    end
+  end
 end
Middleware should ignore non-existent files.

Requesting a CSS file that has no .spriter equivalent shouldn't cause all the CSS and images to be regenerated.