diff --git a/Library/Homebrew/cmd/update-report.rb b/Library/Homebrew/cmd/update-report.rb
index ed9dc6fbf63fa6b2768428debb57ec951f91fcbf..7aa5a528b2c0d461d2c133645d97900ca7c19f8a 100644
--- a/Library/Homebrew/cmd/update-report.rb
+++ b/Library/Homebrew/cmd/update-report.rb
@@ -8,19 +8,17 @@ module Homebrew
     install_core_tap_if_necessary
 
     hub = ReporterHub.new
+    updated = false
 
-    begin
-      master_reporter = Reporter.new(CoreTap.instance)
-    rescue Reporter::ReporterRevisionUnsetError => e
-      raise e if ARGV.homebrew_developer?
+    initial_revision = ENV["HOMEBREW_UPDATE_BEFORE"].to_s
+    current_revision = ENV["HOMEBREW_UPDATE_AFTER"].to_s
+    if initial_revision.empty? || current_revision.empty?
       odie "update-report should not be called directly!"
     end
 
-    if master_reporter.updated?
-      initial_short = shorten_revision(master_reporter.initial_revision)
-      current_short = shorten_revision(master_reporter.current_revision)
-      puts "Updated Homebrew from #{initial_short} to #{current_short}."
-      hub.add(master_reporter)
+    if initial_revision != current_revision
+      puts "Updated Homebrew from #{shorten_revision(initial_revision)} to #{shorten_revision(current_revision)}."
+      updated = true
     end
 
     updated_taps = []
@@ -37,12 +35,14 @@ module Homebrew
         hub.add(reporter)
       end
     end
+
     unless updated_taps.empty?
       puts "Updated #{updated_taps.size} tap#{plural(updated_taps.size)} " \
            "(#{updated_taps.join(", ")})."
+      updated = true
     end
 
-    if hub.reporters.empty?
+    if !updated
       puts "Already up-to-date."
     elsif hub.empty?
       puts "No changes to formulae."
@@ -194,14 +194,10 @@ class Reporter
   private
 
   def repo_var
-    @repo_var ||= if tap.path == HOMEBREW_REPOSITORY
-      ""
-    else
-      tap.path.to_s.
+    @repo_var ||= tap.path.to_s.
         strip_prefix(Tap::TAP_DIRECTORY.to_s).
         tr("^A-Za-z0-9", "_").
         upcase
-    end
   end
 
   def diff