diff --git a/Library/Homebrew/keg.rb b/Library/Homebrew/keg.rb
index 8130567ed8003c851c663b9e10123bc8cd602456..3e458d2e9ae87118d13af7bf2f117c2960d2cfea 100644
--- a/Library/Homebrew/keg.rb
+++ b/Library/Homebrew/keg.rb
@@ -301,7 +301,7 @@ class Keg
 
     unless mode.dry_run
       make_relative_symlink(linked_keg_record, path, mode)
-      optlink
+      optlink(mode)
     end
   rescue LinkError
     unlink
@@ -310,9 +310,9 @@ class Keg
     ObserverPathnameExtension.total
   end
 
-  def optlink
+  def optlink(mode=OpenStruct.new)
     opt_record.delete if opt_record.symlink? || opt_record.exist?
-    make_relative_symlink(opt_record, path)
+    make_relative_symlink(opt_record, path, mode)
   end
 
   def delete_pyc_files!