diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb
index cb58824f3d52d2d07049f846d9edca0f598f438b..25797c8d970aacbf006deb89b4f5444ed67d32bc 100644
--- a/Library/Homebrew/formula.rb
+++ b/Library/Homebrew/formula.rb
@@ -957,8 +957,14 @@ class Formula
   end
 
   def migration_needed?
-    oldname && !rack.exist? && (dir = HOMEBREW_CELLAR/oldname).directory? &&
-      !dir.subdirs.empty? && tap == Tab.for_keg(dir.subdirs.first).tap
+    return false unless oldname
+    return false if rack.exist?
+
+    old_rack = HOMEBREW_CELLAR/oldname
+    return false unless old_rack.directory?
+    return false if old_rack.subdirs.empty?
+
+    tap == Tab.for_keg(old_rack.subdirs.first).tap
   end
 
   # @private