diff --git a/Library/Homebrew/diagnostic.rb b/Library/Homebrew/diagnostic.rb
index c7583e0bbe19c98bbc22de53c6449f7b961ae53d..5b08bb8ea8ab6bc65fd526e4b43226b7314b9210 100644
--- a/Library/Homebrew/diagnostic.rb
+++ b/Library/Homebrew/diagnostic.rb
@@ -877,12 +877,12 @@ module Homebrew
       end
 
       def check_deleted_formula
-        kegs = Keg.all
-        deleted_formulae = []
-        kegs.each do |keg|
-          keg_name = keg.name
-          deleted_formulae << keg_name if Formulary.tap_paths(keg_name).blank?
-        end
+        keg_names = Keg.all.map(&:name).uniq
+
+        deleted_formulae = keg_names.map do |keg_name|
+          keg_name if Formulary.tap_paths(keg_name).blank?
+        end.compact
+
         return if deleted_formulae.blank?
 
         <<~EOS