diff --git a/plugins/CoreHome/Columns/UserId.php b/plugins/CoreHome/Columns/UserId.php
index 55fea6b5173fe6345efde2730c5510a5268eeabe..d4c438c47a35ab0c0a4d39a0bf02307348362b21 100644
--- a/plugins/CoreHome/Columns/UserId.php
+++ b/plugins/CoreHome/Columns/UserId.php
@@ -8,7 +8,12 @@
  */
 namespace Piwik\Plugins\CoreHome\Columns;
 
+use Piwik\Cache;
+use Piwik\DataTable;
+use Piwik\DataTable\Map;
+use Piwik\Period\Range;
 use Piwik\Plugin\Dimension\VisitDimension;
+use Piwik\Plugins\VisitsSummary\API as VisitsSummaryApi;
 use Piwik\Tracker\Request;
 use Piwik\Tracker\Visitor;
 use Piwik\Tracker\Action;
@@ -51,4 +56,63 @@ class UserId extends VisitDimension
         return $request->getForcedUserId();
     }
 
+    public function isUsedInAtLeastOneSite($idSites, $period, $date)
+    {
+        if ($period === 'day' || $period === 'week') {
+            $period = 'month';
+        }
+
+        if ($period === 'range') {
+            $period = 'day';
+        }
+
+        foreach ($idSites as $idSite) {
+            if ($this->isUsedInSiteCached($idSite, $period, $date)) {
+                return true;
+            }
+        }
+
+        return false;
+    }
+
+    private function isUsedInSiteCached($idSite, $period, $date)
+    {
+        $cache = Cache::getTransientCache();
+        $key   = sprintf('%d.%s.%s', $idSite, $period, $date);
+
+        if (!$cache->contains($key)) {
+            $result = $this->isUsedInSite($idSite, $period, $date);
+            $cache->save($key, $result);
+        }
+
+        return $cache->fetch($key);
+    }
+
+    private function isUsedInSite($idSite, $period, $date)
+    {
+        $result = VisitsSummaryApi::getInstance()->get($idSite, $period, $date, false, 'nb_users');
+
+        return $this->hasDataTableUsers($result);
+    }
+
+    public function hasDataTableUsers(DataTable\DataTableInterface $result)
+    {
+        if ($result instanceof Map) {
+            foreach ($result->getDataTables() as $table) {
+                if ($this->hasDataTableUsers($table)) {
+                    return true;
+                }
+            }
+        }
+
+        if (!$result->getRowsCount()) {
+            return false;
+        }
+
+        $numUsers = $result->getColumn('nb_users');
+        $numUsers = array_sum($numUsers);
+
+        return !empty($numUsers);
+    }
+
 }
\ No newline at end of file
diff --git a/plugins/CoreHome/tests/Integration/Column/UserIdTest.php b/plugins/CoreHome/tests/Integration/Column/UserIdTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..f2ca415b5a70414665922c6d999047682e2e0753
--- /dev/null
+++ b/plugins/CoreHome/tests/Integration/Column/UserIdTest.php
@@ -0,0 +1,263 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+
+namespace Piwik\Plugins\CoreHome\tests\Integration\Column;
+
+use Piwik\Access;
+use Piwik\Cache;
+use Piwik\DataAccess\ArchiveTableCreator;
+use Piwik\Db;
+use Piwik\Plugins\CoreHome\Columns\UserId;
+use Piwik\Tests\Framework\Fixture;
+use Piwik\Tests\Framework\Mock\FakeAccess;
+use Piwik\Tests\Framework\TestCase\IntegrationTestCase;
+use Piwik\DataTable;
+
+/**
+ * @group CoreHome
+ * @group UserIdTest
+ * @group Plugins
+ * @group Column
+ */
+class UserIdTest extends IntegrationTestCase
+{
+    /**
+     * @var UserId
+     */
+    private $userId;
+
+    protected $date = '2014-04-04';
+
+    public function setUp()
+    {
+        parent::setUp();
+        $this->userId = new UserId();
+
+        $this->setSuperUser();
+
+        Fixture::createSuperUser();
+        Fixture::createWebsite('2014-01-01 00:00:00');
+        Fixture::createWebsite('2014-01-01 00:00:00');
+    }
+
+    public function tearDown()
+    {
+        // clean up your test here if needed
+        $tables = ArchiveTableCreator::getTablesArchivesInstalled();
+        if (!empty($tables)) {
+            Db::dropTables($tables);
+        }
+        parent::tearDown();
+    }
+
+    public function test_isUsedInAtLeastOneSite_shouldReturnFalseByDefault_WhenNothingIsTracked()
+    {
+        $this->assertNotUsedInAtLeastOneSite($idSites = array(1), 'day', $this->date);
+    }
+
+    public function test_isUsedInAtLeastOneSite_shouldCache()
+    {
+        $key   = '1.month.' . $this->date;
+        $cache = Cache::getTransientCache();
+        $this->assertFalse($cache->contains($key));
+
+        $this->userId->isUsedInAtLeastOneSite($idSites = array(1), 'day', $this->date);
+
+        $this->assertTrue($cache->contains($key));
+        $this->assertFalse($cache->fetch($key));
+    }
+
+    public function test_isUsedInAtLeastOneSite_shouldDetectUserIdWasUsedInAllSites_WhenOneSiteGiven()
+    {
+        $this->trackPageviewsWithUsers();
+
+        $this->assertUsedInAtLeastOneSite($idSites = array(1), 'day', $this->date);
+    }
+
+    public function test_isUsedInAtLeastOneSite_shouldDetectUserIdWasUsedInAtLeastOneSite_WhenMultipleSitesGiven()
+    {
+        $this->trackPageviewsWithUsers();
+
+        $this->assertUsedInAtLeastOneSite($idSites = array(1,2), 'day', $this->date);
+    }
+
+    public function test_isUsedInAtLeastOneSite_shouldDetectUserIdWasNotUsedInAtLeastOneSite_WhenMultipleSitesGiven()
+    {
+        $this->trackPageviewsWithoutUsers();
+
+        $this->assertNotUsedInAtLeastOneSite($idSites = array(1,2), 'day', $this->date);
+    }
+
+    public function test_isUsedInAtLeastOneSite_shouldDetectUserIdWasNotUsed_WhenOneSiteGiven()
+    {
+        $this->trackPageviewsWithUsers();
+
+        $this->assertNotUsedInAtLeastOneSite($idSites = array(2), 'day', $this->date);
+    }
+
+    public function test_isUsedInAtLeastOneSite_shouldDefaultToMonthPeriodAndDetectUserIdIsUsedAlthoughNotTodayButYesterday()
+    {
+        $this->trackPageviewsWithUsers();
+
+        $this->assertUsedInAtLeastOneSite($idSites = array(1), 'day', '2014-04-03');
+    }
+
+    public function test_isUsedInAtLeastOneSite_shouldDefaultToMonthPeriodAndDetectUserIdIsUsedAlthoughNotTodayButTomorrow()
+    {
+        $this->trackPageviewsWithUsers();
+
+        $this->assertUsedInAtLeastOneSite($idSites = array(1), 'day', '2014-04-05');
+    }
+
+    public function test_isUsedInAtLeastOneSite_shouldDetectItWasNotUsedInMarchAlthoughItWasUsedInApril()
+    {
+        $this->trackPageviewsWithUsers();
+
+        $this->assertNotUsedInAtLeastOneSite($idSites = array(1), 'day', '2014-03-04');
+    }
+
+    public function test_isUsedInAtLeastOneSite_shouldDetectItCorrectWithRangeDates()
+    {
+        $this->trackPageviewsWithUsers();
+
+        $this->assertUsedInAtLeastOneSite($idSites = array(1), 'range', '2014-04-01,2014-05-05');
+
+        // not used in that range date
+        $this->assertNotUsedInAtLeastOneSite($idSites = array(1), 'range', '2014-04-01,2014-04-03');
+    }
+
+    public function test_hasDataTableUsers_shouldReturnFalse_IfEmptyTablesAreGiven()
+    {
+        $this->assertNotDataTableHasUsers(new DataTable\Map());
+        $this->assertNotDataTableHasUsers(new DataTable());
+    }
+
+    public function test_hasDataTableUsers_shouldHandleADataTableMap()
+    {
+        $map = new DataTable\Map();
+        $map->addTable(new DataTable(), 'label1');
+        $map->addTable(new DataTable(), 'label2');
+        $map->addTable($this->getDataTableWithoutUsersColumn(), 'label3');
+
+        $this->assertNotDataTableHasUsers($map);
+
+        $map->addTable($this->getDataTableWithZeroUsers(), 'label4');
+        $map->addTable(new DataTable(), 'label5');
+
+        $this->assertNotDataTableHasUsers($map);
+
+        $map->addTable($this->getDataTableWithUsers(), 'label6');
+
+        $this->assertDataTableHasUsers($map);
+    }
+
+    public function test_hasDataTableUsers_shouldHandleADataTable()
+    {
+        $this->assertNotDataTableHasUsers($this->getDataTableWithoutUsersColumn());
+        $this->assertNotDataTableHasUsers($this->getDataTableWithZeroUsers());
+        $this->assertDataTableHasUsers($this->getDataTableWithUsers());
+    }
+
+    private function getDataTableWithoutUsersColumn()
+    {
+        $tableWithoutUsers = new DataTable();
+        $tableWithoutUsers->addRowFromSimpleArray(array('label' => 'test', 'nb_visits' => 0));
+
+        return $tableWithoutUsers;
+    }
+
+    private function getDataTableWithZeroUsers()
+    {
+        $tableWithZeroUsers = new DataTable();
+        $tableWithZeroUsers->addRowFromSimpleArray(array('label' => 'test', 'nb_users' => 0));
+
+        return $tableWithZeroUsers;
+    }
+
+    private function getDataTableWithUsers()
+    {
+        $tableWithUsers = new DataTable();
+        $tableWithUsers->addRowFromSimpleArray(array('label' => 'test', 'nb_users' => 10));
+
+        return $tableWithUsers;
+    }
+
+    private function assertNotDataTableHasUsers($table)
+    {
+        $has = $this->userId->hasDataTableUsers($table);
+        $this->assertFalse($has);
+    }
+
+    private function assertDataTableHasUsers($table)
+    {
+        $has = $this->userId->hasDataTableUsers($table);
+        $this->assertTrue($has);
+    }
+
+    private function assertUsedInAtLeastOneSite($idSites, $period, $date)
+    {
+        $result = $this->userId->isUsedInAtLeastOneSite($idSites, $period, $date);
+
+        $this->assertTrue($result);
+    }
+
+    private function assertNotUsedInAtLeastOneSite($idSites, $period, $date)
+    {
+        $result = $this->userId->isUsedInAtLeastOneSite($idSites, $period, $date);
+
+        $this->assertFalse($result);
+    }
+
+    private function trackPageviewsWithUsers()
+    {
+        $this->trackPageviewsWithDifferentUsers(array('user1', false, 'user3'));
+    }
+
+    private function trackPageviewsWithoutUsers()
+    {
+        $this->trackPageviewsWithDifferentUsers(array(false, false, false));
+    }
+
+    private function trackPageviewsWithDifferentUsers($userIds)
+    {
+        $tracker = $this->getTracker();
+
+        foreach ($userIds as $index => $userId) {
+            $tracker->setForceNewVisit();
+            $this->trackPageview($tracker, $userId, '/index/' . $index . '.html');
+        }
+    }
+
+    private function trackPageview(\PiwikTracker $tracker, $userId, $url = null)
+    {
+        if (null !== $url) {
+            $tracker->setUrl('http://www.example.org' . $url);
+        }
+
+        $tracker->setUserId($userId);
+
+        $title = $url ? : 'test';
+
+        $tracker->doTrackPageView($title);
+    }
+
+    private function getTracker()
+    {
+        $tracker = Fixture::getTracker(1, $this->date . ' 00:01:01', true, true);
+        $tracker->setTokenAuth(Fixture::getTokenAuth());
+        return $tracker;
+    }
+
+    private function setSuperUser()
+    {
+        $pseudoMockAccess = new FakeAccess();
+        $pseudoMockAccess::setSuperUserAccess(true);
+        Access::setSingletonInstance($pseudoMockAccess);
+    }
+
+}
diff --git a/plugins/ScheduledReports/API.php b/plugins/ScheduledReports/API.php
index 123cdc9223dc94401491531eac2e7314f4875009..8cb890da67e9157850e769846e155e6adde76f90 100644
--- a/plugins/ScheduledReports/API.php
+++ b/plugins/ScheduledReports/API.php
@@ -9,6 +9,7 @@
 namespace Piwik\Plugins\ScheduledReports;
 
 use Exception;
+use Piwik\API\Request;
 use Piwik\Common;
 use Piwik\Config;
 use Piwik\Container\StaticContainer;
@@ -357,12 +358,26 @@ class API extends \Piwik\Plugin\API
                 }
             }
 
-            $processedReport = \Piwik\Plugins\API\API::getInstance()->getProcessedReport(
-                $idSite, $period, $date, $apiModule, $apiAction,
-                $segment != null ? urlencode($segment['definition']) : false,
-                $apiParameters, $idGoal = false, $language
+            $params = array(
+                'idSite' => $idSite,
+                'period' => $period,
+                'date'   => $date,
+                'apiModule' => $apiModule,
+                'apiAction' => $apiAction,
+                'apiParameters' => $apiParameters,
+                'idGoal' => false,
+                'language' => $language,
+                'serialize' => 0,
+                'format' => 'original'
             );
 
+            if ($segment != null) {
+                $params['segment'] = urlencode($segment['definition']);
+            } else {
+                $params['segment'] = false;
+            }
+
+            $processedReport = Request::processRequest('API.getProcessedReport', $params);
             $processedReport['segment'] = $segment;
 
             // TODO add static method getPrettyDate($period, $date) in Period
diff --git a/plugins/VisitsSummary/Reports/Get.php b/plugins/VisitsSummary/Reports/Get.php
index f2a087a517eee4d476337a0619c136ca9fcb2778..55696873be61753f41546e8e2eb89592fd00dcf7 100644
--- a/plugins/VisitsSummary/Reports/Get.php
+++ b/plugins/VisitsSummary/Reports/Get.php
@@ -8,6 +8,7 @@
  */
 namespace Piwik\Plugins\VisitsSummary\Reports;
 
+use Piwik\DataTable\DataTableInterface;
 use Piwik\Piwik;
 use Piwik\Plugins\CoreHome\Columns\Metrics\ActionsPerVisit;
 use Piwik\Plugins\CoreHome\Columns\Metrics\AverageTimeOnSite;
@@ -15,6 +16,8 @@ use Piwik\Plugins\CoreHome\Columns\Metrics\BounceRate;
 
 class Get extends \Piwik\Plugin\Report
 {
+    private $usersColumn = 'nb_users';
+
     protected function init()
     {
         parent::init();
@@ -29,7 +32,7 @@ class Get extends \Piwik\Plugin\Report
         $this->metrics       = array(
             'nb_uniq_visitors',
             'nb_visits',
-            'nb_users',
+            $this->usersColumn,
             'nb_actions',
             'max_actions'
         );
@@ -43,7 +46,7 @@ class Get extends \Piwik\Plugin\Report
     {
         $metrics = parent::getMetrics();
 
-        $metrics['max_actions']      = Piwik::translate('General_ColumnMaxActions');
+        $metrics['max_actions'] = Piwik::translate('General_ColumnMaxActions');
 
         return $metrics;
     }
@@ -56,4 +59,25 @@ class Get extends \Piwik\Plugin\Report
 
         return $metrics;
     }
+
+    public function removeUsersFromProcessedReport(&$response)
+    {
+        if (!empty($response['metadata']['metrics'][$this->usersColumn])) {
+            unset($response['metadata']['metrics'][$this->usersColumn]);
+        }
+
+        if (!empty($response['metadata']['metricsDocumentation'][$this->usersColumn])) {
+            unset($response['metadata']['metricsDocumentation'][$this->usersColumn]);
+        }
+
+        if (!empty($response['columns'][$this->usersColumn])) {
+            unset($response['columns'][$this->usersColumn]);
+        }
+
+        if (!empty($response['reportData'])) {
+            $dataTable = $response['reportData'];
+            $dataTable->deleteColumn($this->usersColumn, true);
+        }
+    }
+
 }
\ No newline at end of file
diff --git a/plugins/VisitsSummary/VisitsSummary.php b/plugins/VisitsSummary/VisitsSummary.php
index cc6782f216f0d273217c06699a16952b9628a7e5..f0e7215aac68c2c0c26e039a9886ba3a671bde11 100644
--- a/plugins/VisitsSummary/VisitsSummary.php
+++ b/plugins/VisitsSummary/VisitsSummary.php
@@ -7,6 +7,9 @@
  *
  */
 namespace Piwik\Plugins\VisitsSummary;
+use Piwik\DataTable;
+use Piwik\Plugins\CoreHome\Columns\UserId;
+use Piwik\Plugins\VisitsSummary\Reports\Get;
 
 /**
  * Note: This plugin does not hook on Daily and Period Archiving like other Plugins because it reports the
@@ -23,10 +26,45 @@ class VisitsSummary extends \Piwik\Plugin
     public function getListHooksRegistered()
     {
         return array(
-            'AssetManager.getStylesheetFiles' => 'getStylesheetFiles'
+            'AssetManager.getStylesheetFiles' => 'getStylesheetFiles',
+            'API.API.getProcessedReport.end' => 'enrichProcessedReportIfVisitsSummaryGet',
         );
     }
 
+    private function isRequestingVisitsSummaryGet($module, $method)
+    {
+        return ($module === 'VisitsSummary' && $method === 'get');
+    }
+
+    public function enrichProcessedReportIfVisitsSummaryGet(&$response, $infos)
+    {
+        if (empty($infos['parameters'][4]) || empty($response['reportData'])) {
+            return;
+        }
+
+        $params  = $infos['parameters'];
+        $idSites = array($params[0]);
+        $period  = $params[1];
+        $date    = $params[2];
+        $module  = $params[3];
+        $method  = $params[4];
+
+        if (!$this->isRequestingVisitsSummaryGet($module, $method)) {
+            return;
+        }
+
+        $userId = new UserId();
+
+        /** @var DataTable|DataTable\Map $dataTable */
+        $dataTable = $response['reportData'];
+
+        if (!$userId->hasDataTableUsers($dataTable) &&
+            !$userId->isUsedInAtLeastOneSite($idSites, $period, $date)) {
+            $report = new Get();
+            $report->removeUsersFromProcessedReport($response);
+        }
+    }
+
     public function getStylesheetFiles(&$stylesheets)
     {
         $stylesheets[] = "plugins/VisitsSummary/stylesheets/datatable.less";
diff --git a/plugins/VisitsSummary/tests/Integration/VisitsSummaryTest.php b/plugins/VisitsSummary/tests/Integration/VisitsSummaryTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..dc71cc4848e2b19649a240bec93835ea64ec0b18
--- /dev/null
+++ b/plugins/VisitsSummary/tests/Integration/VisitsSummaryTest.php
@@ -0,0 +1,182 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+
+namespace Piwik\Plugins\VisitsSummary\tests\Integration;
+
+use Piwik\Access;
+use Piwik\API\Request;
+use Piwik\DataAccess\ArchiveTableCreator;
+use Piwik\Db;
+use Piwik\Plugins\Live\API;
+use Piwik\Plugins\VisitsSummary\VisitsSummary;
+use Piwik\Tests\Framework\Fixture;
+use Piwik\Tests\Framework\Mock\FakeAccess;
+use Piwik\Tests\Framework\TestCase\IntegrationTestCase;
+
+/**
+ * @group VisitsSummary
+ * @group VisitsSummaryTest
+ * @group Plugins
+ */
+class VisitsSummaryTest extends IntegrationTestCase
+{
+    /**
+     * @var VisitsSummary
+     */
+    private $plugin;
+
+    protected $date = '2014-04-04';
+    private $column = 'nb_users';
+
+    public function setUp()
+    {
+        parent::setUp();
+        $this->plugin = new VisitsSummary();
+
+        $this->setSuperUser();
+
+        Fixture::createSuperUser();
+        Fixture::createWebsite('2014-01-01 00:00:00');
+    }
+
+    public function tearDown()
+    {
+        // clean up your test here if needed
+        $tables = ArchiveTableCreator::getTablesArchivesInstalled();
+        if (!empty($tables)) {
+            Db::dropTables($tables);
+        }
+        parent::tearDown();
+    }
+
+    public function test_enrichProcessedReportIfVisitsSummaryGet_shouldNotRemoveUsers_IfSomeWereTracked()
+    {
+        $this->trackPageviewsWithUsers();
+
+        $response = $this->requestProcessedGetReport();
+
+        $this->assertUsersNotRemovedFromProcessedReport($response, $expectedUsers = null, $minExpectedUsers = 1);
+    }
+
+    public function test_enrichProcessedReportIfVisitsSummaryGet_shouldNotRemoveUsers_IfNoneWereTrackedThatDay_ButThatMonth()
+    {
+        $this->date = '2014-04-04';
+        $this->trackPageviewsWithUsers();
+
+        $this->date = '2014-04-05';
+        $this->trackPageviewsWithoutUsers();
+
+        $response = $this->requestProcessedGetReport();
+
+        $this->assertUsersNotRemovedFromProcessedReport($response, $expectedUsers = 0);
+    }
+
+    public function test_isUsedInAtLeastOneSite_shouldRemoveUsers_IfNoneWereTracked()
+    {
+        $this->trackPageviewsWithoutUsers();
+
+        $response = $this->requestProcessedGetReport();
+
+        $this->assertUsersRemovedFromProcessedReport($response);
+    }
+
+    private function assertUsersNotRemovedFromProcessedReport($response, $exactNumUsers = null, $minNumUsers = 0)
+    {
+        $table = $response['reportData'];
+
+        if ($exactNumUsers !== null) {
+            $this->assertSame(array($exactNumUsers), $table->getColumn($this->column));
+        }
+
+        if ($minNumUsers != 0) {
+            $users = $table->getColumn($this->column);
+            $user = array_shift($users);
+            $this->assertGreaterThanOrEqual($minNumUsers, $user);
+        }
+
+        $numVisits = $table->getColumn('nb_visits');
+        $numVisits = array_shift($numVisits);
+        $this->assertGreaterThanOrEqual(2, $numVisits);
+
+        $this->assertNotEmpty($response['metadata']['metrics'][$this->column]);
+        $this->assertNotEmpty($response['metadata']['metricsDocumentation'][$this->column]);
+        $this->assertNotEmpty($response['columns'][$this->column]);
+    }
+
+    private function assertUsersRemovedFromProcessedReport($response)
+    {
+        $table = $response['reportData'];
+        $this->assertEquals(array(false), $table->getColumn($this->column));
+        
+        $numVisits = $table->getColumn('nb_visits');
+        $numVisits = array_shift($numVisits);
+        $this->assertGreaterThanOrEqual(2, $numVisits);
+
+        $this->assertArrayNotHasKey($this->column, $response['metadata']['metrics']);
+        $this->assertArrayNotHasKey($this->column, $response['metadata']['metricsDocumentation']);
+        $this->assertArrayNotHasKey($this->column, $response['columns']);
+    }
+
+    private function requestProcessedGetReport()
+    {
+        return Request::processRequest('API.getProcessedReport', array(
+            'idSite' => 1,
+            'period' => 'day',
+            'date'   => $this->date,
+            'apiModule' => 'VisitsSummary',
+            'apiAction' => 'get'
+        ));
+    }
+
+    private function trackPageviewsWithUsers()
+    {
+        $this->trackPageviewsWithDifferentUsers(array('user1', false, 'user3'));
+    }
+
+    private function trackPageviewsWithoutUsers()
+    {
+        $this->trackPageviewsWithDifferentUsers(array(false, false, false));
+    }
+
+    private function trackPageviewsWithDifferentUsers($userIds)
+    {
+        foreach ($userIds as $index => $userId) {
+            $tracker = $this->getTracker($index);
+            $tracker->setForceNewVisit();
+            $this->trackPageview($tracker, $userId, '/index/' . $index . '.html');
+        }
+    }
+
+    private function trackPageview(\PiwikTracker $tracker, $userId, $url)
+    {
+        $tracker->setUrl('http://www.example.org' . $url);
+        $tracker->setUserId($userId);
+        $tracker->doTrackPageView($url);
+    }
+
+    private function getTracker($hoursOffset = 0)
+    {
+        $hour = 10;
+        if ($hoursOffset) {
+            $hour += $hoursOffset;
+        }
+
+        $date = sprintf('%s %d:20:01', $this->date, $hour);
+
+        $tracker = Fixture::getTracker(1, $date, true, true);
+        $tracker->setTokenAuth(Fixture::getTokenAuth());
+        return $tracker;
+    }
+
+    private function setSuperUser()
+    {
+        $pseudoMockAccess = new FakeAccess();
+        $pseudoMockAccess::setSuperUserAccess(true);
+        Access::setSingletonInstance($pseudoMockAccess);
+    }
+}
diff --git a/plugins/VisitsSummary/tests/Unit/Reports/GetTest.php b/plugins/VisitsSummary/tests/Unit/Reports/GetTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..df185a971e8e52d81d34c4ec4aeacf12d57efc5a
--- /dev/null
+++ b/plugins/VisitsSummary/tests/Unit/Reports/GetTest.php
@@ -0,0 +1,100 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+
+namespace Piwik\Plugins\VisitsSummary\tests\Unit\Reports;
+
+use Piwik\DataTable;
+use Piwik\Plugins\VisitsSummary\Reports\Get;
+use Piwik\Tests\Framework\TestCase\UnitTestCase;
+
+/**
+ * @group VisitsSummary
+ * @group Reports
+ * @group GetTest
+ * @group Plugins
+ */
+class GetTest extends UnitTestCase
+{
+    /**
+     * @var Get
+     */
+    private $get;
+
+    private $column = 'nb_users';
+
+    public function setUp()
+    {
+        parent::setUp();
+        $this->get = new Get();
+    }
+
+    public function test_removeUsersFromProcessedReport_shouldNotDoAnything_IfNothingRelatedToUsersIsGiven()
+    {
+        $response = array();
+        $this->get->removeUsersFromProcessedReport($response);
+        $this->assertSame(array(), $response);
+
+        $response = array($this->column => '10', 'test' => 'whatever', 'columns' => array($this->column));
+        $this->get->removeUsersFromProcessedReport($response);
+        $this->assertSame(array($this->column => '10', 'test' => 'whatever', 'columns' => array($this->column)), $response);
+    }
+
+    public function test_removeUsersFromProcessedReport_shouldRemoveMetrics_IfUserIsGiven()
+    {
+        $response = array('metadata' => array('metrics' => array('nb_visits' => 'Visits', $this->column => 'Users')));
+        $this->get->removeUsersFromProcessedReport($response);
+        $this->assertSame(array('metadata' => array('metrics' => array('nb_visits' => 'Visits'))), $response);
+    }
+
+    public function test_removeUsersFromProcessedReport_shouldRemoveMetricsDocumentation_IfUserIsGiven()
+    {
+        $response = array('metadata' => array('metricsDocumentation' => array('nb_visits' => 'Visits', $this->column => 'Users')));
+        $this->get->removeUsersFromProcessedReport($response);
+        $this->assertSame(array('metadata' => array('metricsDocumentation' => array('nb_visits' => 'Visits'))), $response);
+    }
+
+    public function test_removeUsersFromProcessedReport_shouldRemoveColumn_IfUserIsGiven()
+    {
+        $response = array('columns' => array('nb_visits' => 'Visits', $this->column => 'Users'));
+        $this->get->removeUsersFromProcessedReport($response);
+        $this->assertSame(array('columns' => array('nb_visits' => 'Visits')), $response);
+    }
+
+    public function test_removeUsersFromProcessedReport_shouldRemoveUsersColumnFromDataTable_IfUserIsGiven()
+    {
+        $table = $this->getDataTableWithUsers();
+        $this->assertSame(array(20), $table->getColumn($this->column)); // verify column present
+
+        $response = array('reportData' => $table);
+        $this->get->removeUsersFromProcessedReport($response);
+
+        $this->assertSame(array(false), $table->getColumn($this->column));
+        $this->assertSame(array(10), $table->getColumn('nb_visits'));
+    }
+
+    public function test_removeUsersFromProcessedReport_shouldRemoveUsersColumnFromDataTableMap_IfUserIsGiven()
+    {
+        $table = new DataTable\Map();
+        $table->addTable($this->getDataTableWithUsers(), 'label');
+        $this->assertSame(array(20), $table->getColumn($this->column)); // verify column present
+
+        $response = array('reportData' => $table);
+        $this->get->removeUsersFromProcessedReport($response);
+
+        $this->assertSame(array(false), $table->getColumn($this->column));
+        $this->assertSame(array(10), $table->getColumn('nb_visits'));
+    }
+
+    private function getDataTableWithUsers()
+    {
+        $table = new DataTable();
+        $table->addRowFromSimpleArray(array('nb_visits' => 10, $this->column => 20));
+
+        return $table;
+    }
+}
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitsSummary.get_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitsSummary.get_firstSite_lastN__API.getProcessedReport_day.xml
index eb6b70ce41cc4ab3ba7450f1c71fec40b02a141d..63b6741a624daef093b1dd07adbcbb0cf1b2278a 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitsSummary.get_firstSite_lastN__API.getProcessedReport_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitsSummary.get_firstSite_lastN__API.getProcessedReport_day.xml
@@ -10,14 +10,12 @@
 		<metrics>
 			<nb_uniq_visitors>Unique visitors</nb_uniq_visitors>
 			<nb_visits>Visits</nb_visits>
-			<nb_users>Users</nb_users>
 			<nb_actions>Actions</nb_actions>
 			<max_actions>Maximum actions in one visit</max_actions>
 		</metrics>
 		<metricsDocumentation>
 			<nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors>
 			<nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits>
-			<nb_users>The number of users logged in your website. It is the number of unique active users that have a User ID set (via the Tracking code function 'setUserId').</nb_users>
 			<nb_actions>The number of actions performed by your visitors. Actions can be page views, internal site searches, downloads or outlinks.</nb_actions>
 			<bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate>
 			<nb_actions_per_visit>The average number of actions (page views, site searches, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit>
@@ -35,7 +33,6 @@
 	<columns>
 		<nb_uniq_visitors>Unique visitors</nb_uniq_visitors>
 		<nb_visits>Visits</nb_visits>
-		<nb_users>Users</nb_users>
 		<nb_actions>Actions</nb_actions>
 		<max_actions>Maximum actions in one visit</max_actions>
 		<bounce_rate>Bounce Rate</bounce_rate>
@@ -45,7 +42,6 @@
 	<reportData>
 		<result prettyDate="Sunday 3 January 2010">
 			<nb_uniq_visitors>2</nb_uniq_visitors>
-			<nb_users>0</nb_users>
 			<nb_visits>2</nb_visits>
 			<nb_actions>2</nb_actions>
 			<max_actions>1</max_actions>
@@ -55,7 +51,6 @@
 		</result>
 		<result prettyDate="Monday 4 January 2010">
 			<nb_uniq_visitors>1</nb_uniq_visitors>
-			<nb_users>0</nb_users>
 			<nb_visits>1</nb_visits>
 			<nb_actions>1</nb_actions>
 			<max_actions>1</max_actions>
@@ -65,7 +60,6 @@
 		</result>
 		<result prettyDate="Tuesday 5 January 2010">
 			<nb_uniq_visitors>1</nb_uniq_visitors>
-			<nb_users>0</nb_users>
 			<nb_visits>1</nb_visits>
 			<nb_actions>5</nb_actions>
 			<max_actions>5</max_actions>
@@ -75,7 +69,6 @@
 		</result>
 		<result prettyDate="Wednesday 6 January 2010">
 			<nb_uniq_visitors>1</nb_uniq_visitors>
-			<nb_users>0</nb_users>
 			<nb_visits>1</nb_visits>
 			<nb_actions>5</nb_actions>
 			<max_actions>5</max_actions>
@@ -85,7 +78,6 @@
 		</result>
 		<result prettyDate="Thursday 7 January 2010">
 			<nb_uniq_visitors>1</nb_uniq_visitors>
-			<nb_users>0</nb_users>
 			<nb_visits>1</nb_visits>
 			<nb_actions>5</nb_actions>
 			<max_actions>5</max_actions>
@@ -95,7 +87,6 @@
 		</result>
 		<result prettyDate="Friday 8 January 2010">
 			<nb_uniq_visitors>1</nb_uniq_visitors>
-			<nb_users>0</nb_users>
 			<nb_visits>1</nb_visits>
 			<nb_actions>5</nb_actions>
 			<max_actions>5</max_actions>
@@ -105,7 +96,6 @@
 		</result>
 		<result prettyDate="Saturday 9 January 2010">
 			<nb_uniq_visitors>1</nb_uniq_visitors>
-			<nb_users>0</nb_users>
 			<nb_visits>1</nb_visits>
 			<nb_actions>5</nb_actions>
 			<max_actions>5</max_actions>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv
index 519512fcf8584e80996e195a67b1ea51d7573dba..bab09c3b040ebe1d028f2b23617cbe7a3b4432c0 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv
@@ -4,8 +4,8 @@ Site 1,11,43,43,$ 0,0,100%,100%,100%,0%,0%,0,$ 0,0,0
 Site 2,1,3,3,$ 0,0,100%,100%,100%,0%,0%,0,$ 0,0,0
 
 Visits Summary
-nb_uniq_visitors,nb_users,nb_visits,nb_actions,max_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate
-2,0,11,43,5,3.9,00:10:55,27%
+nb_uniq_visitors,nb_visits,nb_actions,max_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate
+2,11,43,5,3.9,00:10:55,27%
 
 Visits by Server Time
 label,nb_visits,nb_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate,revenue
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html
index 1442ad9c23a8b80fca49bfe0f21595abe1e7dbe7..83950954a477fafe99f40e6c032a4e95254a83d9 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html
@@ -428,14 +428,6 @@
                                     </tr>
                             
                                                                     <tr style=";line-height: 22px;">
-                                                                <td style="font-size: 13px; border-right: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
-                                                                                                                                                                        Users                                                                                                                        </td>
-                                            <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
-                                                                                                0
-                                                                                    </td>
-                                    </tr>
-                            
-                                                                    <tr style="background-color: rgb(242,242,242);line-height: 22px;">
                                                                 <td style="font-size: 13px; border-right: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
                                                                                                                                                                         Visits                                                                                                                        </td>
                                             <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
@@ -443,7 +435,7 @@
                                                                                     </td>
                                     </tr>
                             
-                                                                    <tr style=";line-height: 22px;">
+                                                                    <tr style="background-color: rgb(242,242,242);line-height: 22px;">
                                                                 <td style="font-size: 13px; border-right: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
                                                                                                                                                                         Actions                                                                                                                        </td>
                                             <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
@@ -451,7 +443,7 @@
                                                                                     </td>
                                     </tr>
                             
-                                                                    <tr style="background-color: rgb(242,242,242);line-height: 22px;">
+                                                                    <tr style=";line-height: 22px;">
                                                                 <td style="font-size: 13px; border-right: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
                                                                                                                                                                         Maximum actions in one visit                                                                                                                        </td>
                                             <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
@@ -459,7 +451,7 @@
                                                                                     </td>
                                     </tr>
                             
-                                                                    <tr style=";line-height: 22px;">
+                                                                    <tr style="background-color: rgb(242,242,242);line-height: 22px;">
                                                                 <td style="font-size: 13px; border-right: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
                                                                                                                                                                         Actions per Visit                                                                                                                        </td>
                                             <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
@@ -467,7 +459,7 @@
                                                                                     </td>
                                     </tr>
                             
-                                                                    <tr style="background-color: rgb(242,242,242);line-height: 22px;">
+                                                                    <tr style=";line-height: 22px;">
                                                                 <td style="font-size: 13px; border-right: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
                                                                                                                                                                         Avg. Visit Duration (in seconds)                                                                                                                        </td>
                                             <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
@@ -475,7 +467,7 @@
                                                                                     </td>
                                     </tr>
                             
-                                                                    <tr style=";line-height: 22px;">
+                                                                    <tr style="background-color: rgb(242,242,242);line-height: 22px;">
                                                                 <td style="font-size: 13px; border-right: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
                                                                                                                                                                         Bounce Rate                                                                                                                        </td>
                                             <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv
index 1cf8d1b08f53a6933eecb64670f1153f975a4119..dc3af2db1ae150219bd8ec87500950f1c4ac5bfd 100644
--- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv
+++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv
@@ -4,8 +4,8 @@ Piwik test,5,16,16,$ 13361.11,5,4,$ 13351.11,100%,100%,100%,100%,100%,100%,100%
 Piwik test,2,1,1,$ 250,1,0,$ 0,100%,100%,100%,100%,100%,0,0
 
 Visits Summary
-nb_uniq_visitors,nb_users,nb_visits,nb_actions,max_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate
-1,0,5,16,6,3.2,00:22:49,20%
+nb_uniq_visitors,nb_visits,nb_actions,max_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate
+1,5,16,6,3.2,00:22:49,20%
 
 Visits by Server Time
 label,nb_visits,nb_actions,revenue,nb_actions_per_visit,avg_time_on_site,bounce_rate
diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html
index 6b23888c1270ec74b3d944c439983c7dda75808e..eed4308fdec7408812ad3ed4a602e743b22a459a 100644
--- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html
+++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html
@@ -488,14 +488,6 @@
                                     </tr>
                             
                                                                     <tr style=";line-height: 22px;">
-                                                                <td style="font-size: 13px; border-right: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
-                                                                                                                                                                        Users                                                                                                                        </td>
-                                            <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
-                                                                                                0
-                                                                                    </td>
-                                    </tr>
-                            
-                                                                    <tr style="background-color: rgb(242,242,242);line-height: 22px;">
                                                                 <td style="font-size: 13px; border-right: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
                                                                                                                                                                         Visits                                                                                                                        </td>
                                             <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
@@ -503,7 +495,7 @@
                                                                                     </td>
                                     </tr>
                             
-                                                                    <tr style=";line-height: 22px;">
+                                                                    <tr style="background-color: rgb(242,242,242);line-height: 22px;">
                                                                 <td style="font-size: 13px; border-right: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
                                                                                                                                                                         Actions                                                                                                                        </td>
                                             <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
@@ -511,7 +503,7 @@
                                                                                     </td>
                                     </tr>
                             
-                                                                    <tr style="background-color: rgb(242,242,242);line-height: 22px;">
+                                                                    <tr style=";line-height: 22px;">
                                                                 <td style="font-size: 13px; border-right: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
                                                                                                                                                                         Maximum actions in one visit                                                                                                                        </td>
                                             <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
@@ -519,7 +511,7 @@
                                                                                     </td>
                                     </tr>
                             
-                                                                    <tr style=";line-height: 22px;">
+                                                                    <tr style="background-color: rgb(242,242,242);line-height: 22px;">
                                                                 <td style="font-size: 13px; border-right: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
                                                                                                                                                                         Actions per Visit                                                                                                                        </td>
                                             <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
@@ -527,7 +519,7 @@
                                                                                     </td>
                                     </tr>
                             
-                                                                    <tr style="background-color: rgb(242,242,242);line-height: 22px;">
+                                                                    <tr style=";line-height: 22px;">
                                                                 <td style="font-size: 13px; border-right: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
                                                                                                                                                                         Avg. Visit Duration (in seconds)                                                                                                                        </td>
                                             <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
@@ -535,7 +527,7 @@
                                                                                     </td>
                                     </tr>
                             
-                                                                    <tr style=";line-height: 22px;">
+                                                                    <tr style="background-color: rgb(242,242,242);line-height: 22px;">
                                                                 <td style="font-size: 13px; border-right: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
                                                                                                                                                                         Bounce Rate                                                                                                                        </td>
                                             <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">