diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb
index 313e5f850a1386932d41bc23ec097f057bef1ee0..a3e5ef656bd3fcb94db02af82da892d15075fca0 100644
--- a/Library/Homebrew/formula.rb
+++ b/Library/Homebrew/formula.rb
@@ -611,7 +611,7 @@ class Formula
 
   def stage
     fetched = fetch
-    verify_download_integrity(fetched) if fetched.file?
+    verify_download_integrity(fetched) if fetched.respond_to?(:file?) and fetched.file?
     mktemp do
       downloader.stage
       # Set path after the downloader changes the working folder.
diff --git a/Library/Homebrew/resource.rb b/Library/Homebrew/resource.rb
index d8205e17a678cdee6fa1a890076660c9c39712cc..02de04214d2c2b2c4267cebcf6869d1ca497e787 100644
--- a/Library/Homebrew/resource.rb
+++ b/Library/Homebrew/resource.rb
@@ -25,7 +25,7 @@ class Resource
   # A target or a block must be given, but not both
   def stage(target=nil)
     fetched = fetch
-    verify_download_integrity(fetched) if fetched.file?
+    verify_download_integrity(fetched) if fetched.respond_to?(:file?) and fetched.file?
     mktemp do
       @downloader.stage
       if block_given?