diff --git a/Library/Homebrew/keg.rb b/Library/Homebrew/keg.rb
index ccd3cc2c15349cf2a8ff957ab786dd3058d2af69..e2719582d6becd00f3921079bbeef8e03313f2a0 100644
--- a/Library/Homebrew/keg.rb
+++ b/Library/Homebrew/keg.rb
@@ -116,7 +116,7 @@ class Keg
       next unless required.any?
 
       required_kegs = required.map { |f| kegs_by_name[f].sort_by(&:version).last }
-      return required_kegs, [dependent]
+      return required_kegs, [dependent.to_s]
     end
 
     nil
diff --git a/Library/Homebrew/test/test_keg.rb b/Library/Homebrew/test/test_keg.rb
index ac5831b092ed324a120abee668d4b0c68fa33d15..7450d9c0f155d51c8c1bb1eeed2b84c9611a3add 100644
--- a/Library/Homebrew/test/test_keg.rb
+++ b/Library/Homebrew/test/test_keg.rb
@@ -332,31 +332,54 @@ class InstalledDependantsTests < LinkTests
     @dependent = setup_test_keg("bar", "1.0")
   end
 
-  def dependencies(deps)
-    tab = Tab.for_keg(@dependent)
-    tab.tabfile = @dependent.join("INSTALL_RECEIPT.json")
-    tab.runtime_dependencies = deps
+  def alter_tab(keg = @dependent)
+    tab = Tab.for_keg(keg)
+    yield tab
     tab.write
   end
 
-  def test_no_dependencies
+  def dependencies(deps)
+    alter_tab do |tab|
+      tab.tabfile = @dependent.join("INSTALL_RECEIPT.json")
+      tab.runtime_dependencies = deps
+    end
+  end
+
+  def test_no_dependencies_anywhere
+    dependencies nil
+    assert_empty @keg.installed_dependents
+    assert_nil Keg.find_some_installed_dependents([@keg])
+  end
+
+  def test_missing_formula_dependency
+    dependencies nil
+    Formula["bar"].class.depends_on "foo"
+    assert_empty @keg.installed_dependents
+    assert_equal [[@keg], ["bar"]], Keg.find_some_installed_dependents([@keg])
+  end
+
+  def test_empty_dependencies_in_tab
     dependencies []
     assert_empty @keg.installed_dependents
+    assert_nil Keg.find_some_installed_dependents([@keg])
   end
 
-  def test_same_name_different_version
+  def test_same_name_different_version_in_tab
     dependencies [{ "full_name" => "foo", "version" => "1.1" }]
     assert_empty @keg.installed_dependents
+    assert_nil Keg.find_some_installed_dependents([@keg])
   end
 
-  def test_different_name_same_version
+  def test_different_name_same_version_in_tab
     stub_formula_name("baz")
     dependencies [{ "full_name" => "baz", "version" => @keg.version.to_s }]
     assert_empty @keg.installed_dependents
+    assert_nil Keg.find_some_installed_dependents([@keg])
   end
 
-  def test_same_name_and_version
+  def test_same_name_and_version_in_tab
     dependencies [{ "full_name" => "foo", "version" => "1.0" }]
     assert_equal [@dependent], @keg.installed_dependents
+    assert_equal [[@keg], ["bar 1.0"]], Keg.find_some_installed_dependents([@keg])
   end
 end
diff --git a/Library/Homebrew/test/test_uninstall.rb b/Library/Homebrew/test/test_uninstall.rb
index 9999b2bb2ea6dbe629b3b97712797967a79c690e..037596bfc570ad543de59c5c7260bc97ba9619c3 100644
--- a/Library/Homebrew/test/test_uninstall.rb
+++ b/Library/Homebrew/test/test_uninstall.rb
@@ -48,110 +48,21 @@ class IntegrationCommandTestUninstall < IntegrationCommandTestCase
   end
 
   def test_uninstall
-    cmd("install", testball)
-    assert_match "Uninstalling testball", cmd("uninstall", "--force", testball)
-    assert_empty Formulary.factory(testball).installed_kegs
-  end
-
-  def test_uninstall_with_unrelated_missing_deps_in_tab
-    setup_test_formula "testball"
-    run_as_not_developer do
-      cmd("install", testball)
-      cmd("install", "testball_f2")
-      cmd("uninstall", "--ignore-dependencies", "testball_f1")
-      cmd("uninstall", testball)
-    end
-  end
-
-  def test_uninstall_with_unrelated_missing_deps_not_in_tab
-    setup_test_formula "testball"
-    run_as_not_developer do
-      cmd("install", testball)
-      cmd("install", "testball_f2")
-
-      f2_keg = f2.installed_kegs.first
-      f2_tab = Tab.for_keg(f2_keg)
-      f2_tab.runtime_dependencies = nil
-      f2_tab.write
-
-      cmd("uninstall", "--ignore-dependencies", "testball_f1")
-      cmd("uninstall", testball)
-    end
-  end
-
-  def test_uninstall_leaving_dependents
     cmd("install", "testball_f2")
     run_as_not_developer do
-      assert_match "Refusing to uninstall",
-        cmd_fail("uninstall", "testball_f1")
-      refute_empty f1.installed_kegs
-      assert_match "Uninstalling #{f2.rack}",
-        cmd("uninstall", "testball_f2")
-      assert_empty f2.installed_kegs
-    end
-  end
 
-  def test_uninstall_leaving_dependents_no_runtime_dependencies_in_tab
-    cmd("install", "testball_f2")
-
-    f2_keg = f2.installed_kegs.first
-    f2_tab = Tab.for_keg(f2_keg)
-    f2_tab.runtime_dependencies = nil
-    f2_tab.write
-
-    run_as_not_developer do
       assert_match "Refusing to uninstall",
         cmd_fail("uninstall", "testball_f1")
       refute_empty f1.installed_kegs
+
       assert_match "Uninstalling #{f2.rack}",
         cmd("uninstall", "testball_f2")
       assert_empty f2.installed_kegs
-    end
-  end
 
-  def test_uninstall_force_leaving_dependents
-    cmd("install", "testball_f2")
-    run_as_not_developer do
-      assert_match "Refusing to uninstall",
-        cmd_fail("uninstall", "testball_f1", "--force")
-      refute_empty f1.installed_kegs
-      assert_match "Uninstalling testball_f2",
-        cmd("uninstall", "testball_f2", "--force")
-      assert_empty f2.installed_kegs
-    end
-  end
-
-  def test_uninstall_ignore_dependencies_leaving_dependents
-    cmd("install", "testball_f2")
-    run_as_not_developer do
-      assert_match "Uninstalling #{f1.rack}",
-        cmd("uninstall", "testball_f1", "--ignore-dependencies")
-      assert_empty f1.installed_kegs
-    end
-  end
-
-  def test_uninstall_leaving_dependents_developer
-    cmd("install", "testball_f2")
-    assert_match "Uninstalling #{f1.rack}",
-      cmd("uninstall", "testball_f1")
-    assert_empty f1.installed_kegs
-  end
-
-  def test_uninstall_dependent_first
-    cmd("install", "testball_f2")
-    run_as_not_developer do
       assert_match "Uninstalling #{f1.rack}",
-        cmd("uninstall", "testball_f2", "testball_f1")
+        cmd("uninstall", "testball_f1")
       assert_empty f1.installed_kegs
-    end
-  end
 
-  def test_uninstall_dependent_last
-    cmd("install", "testball_f2")
-    run_as_not_developer do
-      assert_match "Uninstalling #{f2.rack}",
-        cmd("uninstall", "testball_f1", "testball_f2")
-      assert_empty f2.installed_kegs
     end
   end
 end