diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb
index d4e4e8dcc44ec8089ef1ccb0215d5ff4416542a6..99f48d546cf03d2a761be3a97ae47600ee968dbb 100644
--- a/Library/Homebrew/formula_installer.rb
+++ b/Library/Homebrew/formula_installer.rb
@@ -169,13 +169,19 @@ class FormulaInstaller
   # All dependencies that we must install before installing f.
   # These do not honor flags like --HEAD and --devel.
   def necessary_deps
+    # FIXME: can't check this inside the block for the top-level dependent
+    # because it depends on the contents of ARGV.
+    pour_bottle = pour_bottle?
+
     ARGV.filter_for_dependencies do
       f.recursive_dependencies do |dependent, dep|
         dep.universal! if f.build.universal? && !dep.build?
 
         if (dep.optional? || dep.recommended?) && dependent.build.without?(dep.name)
           Dependency.prune
-        elsif dep.build? && install_bottle?(dependent)
+        elsif dep.build? && dependent == f && pour_bottle
+          Dependency.prune
+        elsif dep.build? && dependent != f && install_bottle?(dependent)
           Dependency.prune
         elsif dep.satisfied?
           Dependency.skip