diff --git a/Library/Homebrew/resource.rb b/Library/Homebrew/resource.rb
index 0866fa6226d2d768747bb95d74a3d95e4238dc7f..f3bd461061b6cd7dddfa1d82099f461cd306ce05 100644
--- a/Library/Homebrew/resource.rb
+++ b/Library/Homebrew/resource.rb
@@ -78,12 +78,14 @@ class Resource
   end
 
   def fetch
-    # Ensure the cache exists
     HOMEBREW_CACHE.mkpath
-    downloader.fetch
-  rescue ErrorDuringExecution, CurlDownloadStrategyError => e
-    raise DownloadError.new(self, e)
-  else
+
+    begin
+      downloader.fetch
+    rescue ErrorDuringExecution, CurlDownloadStrategyError => e
+      raise DownloadError.new(self, e)
+    end
+
     cached_download
   end