diff --git a/Library/Homebrew/cmd/audit.rb b/Library/Homebrew/cmd/audit.rb
index b2211fdc1571c42786e2c48e094bede64ed3c36f..a583f3bbf63b509cfaf9d371348e535e9d1bf8de 100644
--- a/Library/Homebrew/cmd/audit.rb
+++ b/Library/Homebrew/cmd/audit.rb
@@ -205,6 +205,11 @@ class FormulaAuditor
   end
 
   @@aliases ||= Formula.aliases
+  @@remote_official_taps ||= if (homebrew_tapd = HOMEBREW_LIBRARY/"Taps/homebrew").directory?
+    OFFICIAL_TAPS - homebrew_tapd.subdirs.map(&:basename).map { |tap| tap.to_s.sub(/^homebrew-/, "") }
+  else
+    OFFICIAL_TAPS
+  end
 
   def audit_formula_name
     return unless @strict
@@ -224,14 +229,11 @@ class FormulaAuditor
       return
     end
 
-    same_name_tap_formulae = Formula.tap_names.select { |f| f =~ %r{^homebrew/[^/]+/#{name}$} }
-    homebrew_tapd = HOMEBREW_LIBRARY/"Taps/homebrew"
-    current_taps = if homebrew_tapd.directory?
-      homebrew_tapd.subdirs.map(&:basename).map { |tap| tap.to_s.sub(/^homebrew-/, "") }
-    else
-      []
+    same_name_tap_formulae = Formula.tap_names.select do |tap_formula_name|
+      user_name, _, formula_name = tap_formula_name.split("/", 3)
+      user_name == "homebrew" && formula_name == name
     end
-    same_name_tap_formulae += (OFFICIAL_TAPS - current_taps).map do |tap|
+    same_name_tap_formulae += @@remote_official_taps.map do |tap|
       Thread.new { Homebrew.search_tap "homebrew", tap, name }
     end.map(&:value).flatten
     same_name_tap_formulae.delete(full_name)