diff --git a/Library/Homebrew/build_options.rb b/Library/Homebrew/build_options.rb
index d880c76eb7a8a16b4dd0cd078931c209c382ecd7..64ca931736df873258d4a8a2169fd91e654c121e 100644
--- a/Library/Homebrew/build_options.rb
+++ b/Library/Homebrew/build_options.rb
@@ -9,11 +9,7 @@ class BuildOptions
   end
 
   def with? val
-    if val.respond_to?(:option_name)
-      name = val.option_name
-    else
-      name = val
-    end
+    name = val.respond_to?(:option_name) ? val.option_name : val
 
     if option_defined? "with-#{name}"
       include? "with-#{name}"
diff --git a/Library/Homebrew/cmd/leaves.rb b/Library/Homebrew/cmd/leaves.rb
index 4b1757ad007f68a547f00c2e9f3829dab8d79725..64387342f0c192f3b25fb2ffa9f9ffc569a38baa 100644
--- a/Library/Homebrew/cmd/leaves.rb
+++ b/Library/Homebrew/cmd/leaves.rb
@@ -13,7 +13,7 @@ module Homebrew
 
       f.deps.each do |dep|
         if dep.optional? || dep.recommended?
-          deps << dep.to_formula.name if tab.with?(dep.to_formula.name)
+          deps << dep.to_formula.name if tab.with?(dep)
         else
           deps << dep.to_formula.name
         end
diff --git a/Library/Homebrew/cmd/missing.rb b/Library/Homebrew/cmd/missing.rb
index 6863699127e2fe802e14d433cba7ada927fe6f59..67d10d11fd191875f388783d1e7caf59c6833bf3 100644
--- a/Library/Homebrew/cmd/missing.rb
+++ b/Library/Homebrew/cmd/missing.rb
@@ -8,7 +8,7 @@ module Homebrew
       missing_deps = f.recursive_dependencies do |dependent, dep|
         if dep.optional? || dep.recommended?
           tab = Tab.for_formula(dependent)
-          Dependency.prune unless tab.with?(dep.name)
+          Dependency.prune unless tab.with?(dep)
         elsif dep.build?
           Dependency.prune
         end
diff --git a/Library/Homebrew/tab.rb b/Library/Homebrew/tab.rb
index c295fe90e55ba127b24babf5e3b1680549fb447f..ea619d57c4eefddfb901dc85e1129c814aa8d6b2 100644
--- a/Library/Homebrew/tab.rb
+++ b/Library/Homebrew/tab.rb
@@ -81,7 +81,8 @@ class Tab < OpenStruct
             :compiler => :clang
   end
 
-  def with? name
+  def with? val
+    name = val.respond_to?(:option_name) ? val.option_name : val
     include?("with-#{name}") || unused_options.include?("without-#{name}")
   end