diff --git a/Library/Homebrew/keg_relocate.rb b/Library/Homebrew/keg_relocate.rb
index 00e941ce2fa99bf3a3893d77f243e671b232b9fe..0b1a1bc94d90008379b28eca43ab9a62d04f18e1 100644
--- a/Library/Homebrew/keg_relocate.rb
+++ b/Library/Homebrew/keg_relocate.rb
@@ -17,7 +17,9 @@ class Keg
       # Don't fix relative symlinks
       next unless link.absolute?
       if link.to_s.start_with?(HOMEBREW_CELLAR.to_s) || link.to_s.start_with?(HOMEBREW_PREFIX.to_s)
-        FileUtils.ln_sf(link.relative_path_from(file.parent), file)
+        new_src = link.relative_path_from(file.parent)
+        file.unlink
+        FileUtils.ln_s(new_src, file)
       end
     end
   end