diff --git a/Library/Homebrew/keg.rb b/Library/Homebrew/keg.rb
index 04c98c9556446e8c4de70ec55cc60467b3177c91..d40be299c1a0c1a53f9622d0279e847a6a44034c 100644
--- a/Library/Homebrew/keg.rb
+++ b/Library/Homebrew/keg.rb
@@ -238,7 +238,9 @@ class Keg
 
     if tap
       bad_tap_opt = opt/tap.user
-      FileUtils.rm_rf bad_tap_opt if bad_tap_opt.directory?
+      if !bad_tap_opt.symlink? && bad_tap_opt.directory?
+        FileUtils.rm_rf bad_tap_opt
+      end
     end
 
     aliases.each do |a|