diff --git a/Library/Homebrew/extend/ARGV.rb b/Library/Homebrew/extend/ARGV.rb
index beee47038fd062d03614cba45a3b3c455e65250d..2da6141c792d58e8a014259d7a3551bf0cd91761 100644
--- a/Library/Homebrew/extend/ARGV.rb
+++ b/Library/Homebrew/extend/ARGV.rb
@@ -32,6 +32,10 @@ module HomebrewArgvExtension
           resolved_spec = spec(nil) || tab.spec
           f.set_active_spec(resolved_spec) if f.send(resolved_spec)
           f.build = tab
+          if f.head? && tab.tabfile
+            k = Keg.new(tab.tabfile.parent)
+            f.version.update_commit(k.version.version.commit)
+          end
         end
         f
       else
diff --git a/Library/Homebrew/formulary.rb b/Library/Homebrew/formulary.rb
index 425443778b9bf49fb9f240d968c5147d53b778fc..20f115f1396035795c9cd830c46c0f204e6683a0 100644
--- a/Library/Homebrew/formulary.rb
+++ b/Library/Homebrew/formulary.rb
@@ -246,6 +246,7 @@ class Formulary
       end
     end
     f.build = tab
+    f.version.update_commit(keg.version.version.commit) if f.head?
     f
   end
 
diff --git a/Library/Homebrew/postinstall.rb b/Library/Homebrew/postinstall.rb
index 14e578128bb990feff7f9b6bd8a13d34e3709f40..0b6d8f6b01f49228b7572b94db93bc5c701cec04 100644
--- a/Library/Homebrew/postinstall.rb
+++ b/Library/Homebrew/postinstall.rb
@@ -11,7 +11,7 @@ begin
 
   trap("INT", old_trap)
 
-  formula = ARGV.formulae.first
+  formula = ARGV.resolved_formulae.first
   formula.extend(Debrew::Formula) if ARGV.debug?
   formula.run_post_install
 rescue Exception => e
diff --git a/Library/Homebrew/test.rb b/Library/Homebrew/test.rb
index 796ce0901d63c3c86f282999fdc47d8316b3569e..ffffa1837bf1b785b380432bc94731cb98040ed9 100644
--- a/Library/Homebrew/test.rb
+++ b/Library/Homebrew/test.rb
@@ -19,7 +19,7 @@ begin
 
   trap("INT", old_trap)
 
-  formula = ARGV.formulae.first
+  formula = ARGV.resolved_formulae.first
   formula.extend(Homebrew::Assertions)
   formula.extend(Debrew::Formula) if ARGV.debug?