diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb
index 3565b81633044467df89b997927f54d4c445af26..9e7bd21cabf11f996c22f12997ad944d19851354 100644
--- a/Library/Homebrew/formula.rb
+++ b/Library/Homebrew/formula.rb
@@ -1611,6 +1611,8 @@ class Formula
         eligible_kegs.each do |keg|
           if keg.linked?
             opoo "Skipping (old) #{keg} due to it being linked"
+          elsif pinned? && keg == Keg.new(@pin.path.resolved_path)
+            opoo "Skipping (old) #{keg} due to it being pinned"
           else
             eligible_for_cleanup << keg
           end