diff --git a/sites/all/modules/views/includes/view.inc b/sites/all/modules/views/includes/view.inc
index d90f3bf..d539a45 100644
--- a/sites/all/modules/views/includes/view.inc
+++ b/sites/all/modules/views/includes/view.inc
@@ -742,7 +742,9 @@ class view extends views_db_object {
           // query; we've already been doing most of what it does, and we
           // just need to do a little more playing with globals.
           if (!empty($this->pager['use_pager']) || !empty($this->get_total_rows)) {
-            $this->total_rows = db_result(db_query($count_query, $args)) - $this->pager['offset'];
+              $total_rows = db_result(db_query($count_query, $args));
+              $this->total_rows = $total_rows - $this->pager['offset'];
+              $this->total_rows_full = $total_rows;
           }
 
           if (!empty($this->pager['use_pager'])) {
diff --git a/sites/all/modules/views/plugins/views_plugin_cache.inc b/sites/all/modules/views/plugins/views_plugin_cache.inc
index ec491fc..0b72c4f 100644
--- a/sites/all/modules/views/plugins/views_plugin_cache.inc
+++ b/sites/all/modules/views/plugins/views_plugin_cache.inc
@@ -74,6 +74,7 @@ class views_plugin_cache extends views_plugin {
         $data = array(
           'result' => $this->view->result,
           'total_rows' => $this->view->total_rows,
+          'full_total_rows' => $this->view->full_total_rows,
           'pager' => $this->view->pager,
         );
         cache_set($this->get_results_key(), $data, $this->table);
@@ -105,6 +106,7 @@ class views_plugin_cache extends views_plugin {
           if (!$cutoff || $cache->created > $cutoff) {
             $this->view->result = $cache->data['result'];
             $this->view->total_rows = $cache->data['total_rows'];
+            $this->view->full_total_rows = $cache->data['full_total_rows'];
             $this->view->pager = $cache->data['pager'];
             $this->view->execute_time = 0;
             return TRUE;
