diff --git a/Library/Homebrew/keg_relocate.rb b/Library/Homebrew/keg_relocate.rb
index 41686b1bbdbfdeb1d3e71c94cd96b0473a6d8301..b878781e139f8b0faed905d810566dd27dc71453 100644
--- a/Library/Homebrew/keg_relocate.rb
+++ b/Library/Homebrew/keg_relocate.rb
@@ -66,7 +66,14 @@ class Keg
         relocation.old_repository => relocation.new_repository,
       }
 
-      regexp = Regexp.union(replacements.keys)
+      # Order matters here since `HOMEBREW_CELLAR` and `HOMEBREW_REPOSITORY` are
+      # children of `HOMEBREW_PREFIX` by default.
+      regexp = Regexp.union(
+        relocation.old_cellar,
+        relocation.old_repository,
+        relocation.old_prefix
+      )
+
       changed = s.gsub!(regexp, replacements)
 
       next unless changed