diff --git a/Library/Homebrew/os/mac/ruby_keg.rb b/Library/Homebrew/os/mac/ruby_keg.rb
index 26babdc3d37543a0973eab260f10bcd946ea21c8..8f7b37419a515d53260f1d8e25f81a183c21ca7e 100644
--- a/Library/Homebrew/os/mac/ruby_keg.rb
+++ b/Library/Homebrew/os/mac/ruby_keg.rb
@@ -4,7 +4,7 @@ module RubyKeg
   def change_dylib_id(id, file)
     @require_install_name_tool = true
     puts "Changing dylib ID of #{file}\n  from #{file.dylib_id}\n    to #{id}" if ARGV.debug?
-    MachO::Tools.change_dylib_id(file, id)
+    MachO::Tools.change_dylib_id(file, id, :strict => false)
   rescue MachO::MachOError
     onoe <<-EOS.undent
       Failed changing dylib ID of #{file}
@@ -17,7 +17,7 @@ module RubyKeg
   def change_install_name(old, new, file)
     @require_install_name_tool = true
     puts "Changing install name in #{file}\n  from #{old}\n    to #{new}" if ARGV.debug?
-    MachO::Tools.change_install_name(file, old, new)
+    MachO::Tools.change_install_name(file, old, new, :strict => false)
   rescue MachO::MachOError
     onoe <<-EOS.undent
       Failed changing install name in #{file}
diff --git a/Library/Homebrew/os/mac/ruby_mach.rb b/Library/Homebrew/os/mac/ruby_mach.rb
index 287ce481e811b6a904508706b570153bbeb5ba98..0a1565f4f808860d4030fe6898b01d882727f8e7 100644
--- a/Library/Homebrew/os/mac/ruby_mach.rb
+++ b/Library/Homebrew/os/mac/ruby_mach.rb
@@ -14,7 +14,7 @@ module RubyMachO
       machos = []
       mach_data = []
 
-      if MachO.fat_magic?(macho.magic)
+      if MachO::Utils.fat_magic?(macho.magic)
         machos = macho.machos
       else
         machos << macho
@@ -28,9 +28,8 @@ module RubyMachO
         end
 
         type = case m.filetype
-        when "MH_EXECUTE" then :executable
-        when "MH_DYLIB" then :dylib
-        when "MH_BUNDLE" then :bundle
+        when :dylib, :bundle then m.filetype
+        when :execute then :executable
         else :dunno
         end