diff --git a/app/assets/javascripts/admin/routes/admin_dashboard_route.js b/app/assets/javascripts/admin/routes/admin_dashboard_route.js
index 74845ee51..769d19870 100644
--- a/app/assets/javascripts/admin/routes/admin_dashboard_route.js
+++ b/app/assets/javascripts/admin/routes/admin_dashboard_route.js
@@ -26,6 +26,7 @@ Discourse.AdminDashboardRoute = Discourse.Route.extend({
         d.reports.each(function(report){
           c.set(report.type, Discourse.Report.create(report));
         });
+        c.set('totalUsers', d.total_users);
         c.set('loading', false);
       });
     }
diff --git a/app/assets/javascripts/admin/templates/dashboard.js.handlebars b/app/assets/javascripts/admin/templates/dashboard.js.handlebars
index 266947fa9..bd4cde74b 100644
--- a/app/assets/javascripts/admin/templates/dashboard.js.handlebars
+++ b/app/assets/javascripts/admin/templates/dashboard.js.handlebars
@@ -38,6 +38,15 @@
     </p>
   </div>
 
+  <div class="dashboard-stats totals">
+    <table class="table table-condensed table-hover">
+      <tr>
+        <td class="title">{{i18n admin.dashboard.total_users}}</td>
+        <td class="value">{{#unless loading}}{{ totalUsers }}{{/unless}}</td>
+      </tr>
+    </table>
+  </div>
+
   <div class="dashboard-stats">
     <table class="table table-condensed table-hover">
       <thead>
@@ -70,7 +79,6 @@
         </tr>
       </thead>
       {{#unless loading}}
-        {{ render 'admin_report_total_users' total_users }}
         {{ render 'admin_report_visits' visits }}
       {{/unless}}
     </table>
diff --git a/app/assets/stylesheets/admin/admin_base.scss b/app/assets/stylesheets/admin/admin_base.scss
index bee0325f0..2d6a1e38c 100644
--- a/app/assets/stylesheets/admin/admin_base.scss
+++ b/app/assets/stylesheets/admin/admin_base.scss
@@ -324,6 +324,14 @@ table {
       text-align: center;
     }
   }
+
+  &.totals {
+    width: 160px;
+
+    table tr:first-child td {
+      border-top: none;
+    }
+  }
 }
 
 
diff --git a/app/controllers/admin/dashboard_controller.rb b/app/controllers/admin/dashboard_controller.rb
index 9d34bbaf4..3bf4263bd 100644
--- a/app/controllers/admin/dashboard_controller.rb
+++ b/app/controllers/admin/dashboard_controller.rb
@@ -2,7 +2,8 @@ class Admin::DashboardController < Admin::AdminController
 
   def index
     render_json_dump({
-      reports: ['visits', 'signups', 'topics', 'posts', 'total_users', 'flags'].map { |type| Report.find(type) }
+      reports: ['visits', 'signups', 'topics', 'posts', 'flags'].map { |type| Report.find(type) },
+      total_users: User.count
     }.merge(
       SiteSetting.version_checks? ? {version_check: DiscourseUpdates.check_version} : {}
     ))
diff --git a/app/models/report.rb b/app/models/report.rb
index 31d22e493..038fe34ec 100644
--- a/app/models/report.rb
+++ b/app/models/report.rb
@@ -69,17 +69,6 @@ class Report
     end
   end
 
-  def self.report_total_users(report)
-    report.data = []
-    fetch report do
-      (0..30).to_a.reverse.each do |i|
-        if (count = User.where('created_at < ?', i.days.ago).count) > 0
-          report.data << {x: i.days.ago.to_date.to_s, y: count}
-        end
-      end
-    end
-  end
-
   def self.report_flags(report)
     report.data = []
     fetch report do
diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml
index 6711ebcd8..3065cb9d3 100644
--- a/config/locales/client.en.yml
+++ b/config/locales/client.en.yml
@@ -690,6 +690,7 @@ en:
         please_upgrade: "Please upgrade!"
         latest_version: "Latest version"
         update_often: 'Please update often!'
+        total_users: "Total Users"
 
         reports:
           today: "Today"
diff --git a/spec/models/report_spec.rb b/spec/models/report_spec.rb
index f451d6df6..daa7033e7 100644
--- a/spec/models/report_spec.rb
+++ b/spec/models/report_spec.rb
@@ -58,29 +58,6 @@ describe Report do
     end
   end
 
-  describe "total_users report" do
-    let(:report) { Report.find("total_users", cache: false) }
-
-    context "no total_users" do
-      it 'returns an empty report' do
-        report.data.should be_blank
-      end
-    end
-
-    context "with users" do
-      before do
-        Fabricate(:user, created_at: 25.hours.ago)
-        Fabricate(:user, created_at: 1.hours.ago)
-        Fabricate(:user, created_at: 1.hours.ago)
-      end
-
-      it 'returns correct data' do
-        report.data[0][:y].should == 1
-        report.data[1][:y].should == 3
-      end
-    end
-  end
-
   describe '#fetch' do
     context 'signups' do
       let(:report) { Report.find('signups', cache: true) }