diff --git a/core/ArchiveProcessor.php b/core/ArchiveProcessor.php
index 9cc67f6271f99b7dcd1cc71812e0b9994a08181f..bd0b0e3d1074a16026af8daaa1221da6a579a238 100644
--- a/core/ArchiveProcessor.php
+++ b/core/ArchiveProcessor.php
@@ -120,7 +120,7 @@ class ArchiveProcessor
         $this->archiveWriter = $archiveWriter;
 
         $this->skipUniqueVisitorsCalculationForMultipleSites =
-            Config::getInstance()->General['enable_processing_unique_visitors_multiple_sites'] == 1;
+            Config::getInstance()->General['enable_processing_unique_visitors_multiple_sites'] == 1; // TODO: move logic to Rules
     }
 
     protected function getArchive()
diff --git a/tests/PHPUnit/Fixtures/ThreeSitesWithSharedVisitors.php b/tests/PHPUnit/Fixtures/ThreeSitesWithSharedVisitors.php
new file mode 100644
index 0000000000000000000000000000000000000000..88df341fbcae4a428f74d6bd68a0d1636406e165
--- /dev/null
+++ b/tests/PHPUnit/Fixtures/ThreeSitesWithSharedVisitors.php
@@ -0,0 +1,82 @@
+<?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\Tests\Fixtures;
+
+use Piwik\Common;
+use Piwik\Date;
+use Piwik\Db;
+use Piwik\Tests\Fixture;
+
+/**
+ * Adds three sites and tracks some visits w/ visitors that visit each site.
+ */
+class ThreeSitesWithSharedVisitors extends Fixture
+{
+    public $idSite = 1;
+    public $dateTime = '2010-03-06 11:22:33';
+
+    public function setUp()
+    {
+        $this->setUpWebsitesAndGoals();
+        $this->trackVisits();
+    }
+
+    public function tearDown()
+    {
+        // empty
+    }
+
+    private function setUpWebsitesAndGoals()
+    {
+        if (!self::siteCreated($idSite = 1)) {
+            self::createWebsite($this->dateTime);
+        }
+
+        if (!self::siteCreated($idSite = 2)) {
+            self::createWebsite($this->dateTime);
+        }
+
+        if (!self::siteCreated($idSite = 3)) {
+            self::createWebsite($this->dateTime);
+        }
+    }
+
+    private function trackVisits()
+    {
+        $dateTime = $this->dateTime;
+        $idSite = $this->idSite;
+
+        // two visits to site 1 & 3
+        $visitor1 = self::getTracker($idSite, $dateTime, $defaultInit = true);
+        $visitor1->setForceVisitDateTime(Date::factory($this->dateTime)->getDatetime());
+        $visitor1->setUrl('http://helios.org/alpha');
+        $visitor1->doTrackPageView("page title");
+
+        $visitor1->setIdSite(3);
+        $visitor1->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(1)->getDatetime());
+        $visitor1->setUrl('http://taura.org/');
+        $visitor1->doTrackPageView("page title");
+
+        // one visit to site 1
+        $visitor2 = self::getTracker($idSite, $dateTime, $defaultInit = true);
+        $visitor2->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(2)->getDatetime());
+        $visitor2->setUrl('http://helios.org/beta');
+        $visitor2->doTrackPageView("page title 2");
+
+        // two visits to site 2 and 3
+        $visitor3 = self::getTracker($idSite = 2, $dateTime, $defaultInit = true);
+        $visitor3->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(3)->getDatetime());
+        $visitor3->setUrl('http://virgon.org/');
+        $visitor3->doTrackPageView("page title 2");
+
+        $visitor3->setIdSite(3);
+        $visitor3->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(4)->getDatetime());
+        $visitor3->setUrl('http://taura.org/');
+        $visitor3->doTrackPageView("page title");
+    }
+}
\ No newline at end of file
diff --git a/tests/PHPUnit/Integration/MultipleSitesArchivingTest.php b/tests/PHPUnit/Integration/MultipleSitesArchivingTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..06c366dbe52f23f72f77b62f7ad8455ccf399daa
--- /dev/null
+++ b/tests/PHPUnit/Integration/MultipleSitesArchivingTest.php
@@ -0,0 +1,60 @@
+<?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\Tests\Integration;
+
+use Piwik\Config;
+use Piwik\Piwik;
+use Piwik\Tests\Fixture;
+use Piwik\Tests\Fixtures\ThreeSitesWithSharedVisitors;
+use Piwik\Tests\IntegrationTestCase;
+
+/**
+ * @group Integration
+ * @group MultipleSitesArchivingTest
+ */
+class MultipleSitesArchivingTest extends IntegrationTestCase
+{
+    public static $fixture = null; // initialized below class definition
+
+    public static function setUpBeforeClass()
+    {
+        parent::setUpBeforeClass();
+
+        $extraSite = Fixture::createWebsite(self::$fixture->dateTime, $ecommerce = 1, "the site");
+
+        Piwik::addAction("ArchiveProcessor.Parameters.getIdSites", function (&$sites, $period) use ($extraSite) {
+            if (reset($sites) == $extraSite) {
+                $sites = array(1, 2, 3);
+            }
+        });
+
+        Config::getInstance()->General['enable_processing_unique_visitors_multiple_sites'] = 0;
+    }
+
+    public function getApiForTesting()
+    {
+        $dateTime = self::$fixture->dateTime;
+
+        return array(
+            array('VisitsSummary.get', array('idSite' => 4,
+                                             'date' => $dateTime,
+                                             'periods' => array('day', 'month'),
+                                             'testSuffix' => '_sitesGroup')),
+        );
+    }
+
+    /**
+     * @dataProvider getApiForTesting
+     */
+    public function testApi($api, $params)
+    {
+        $this->runApiTests($api, $params);
+    }
+}
+
+MultipleSitesArchivingTest::$fixture = new ThreeSitesWithSharedVisitors();
\ No newline at end of file
diff --git a/tests/PHPUnit/Integration/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_day.xml b/tests/PHPUnit/Integration/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_day.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3cdd6ab92e615e507e8fa80b5be32c3603ce2c19
--- /dev/null
+++ b/tests/PHPUnit/Integration/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_day.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<result>
+	<nb_uniq_visitors>3</nb_uniq_visitors>
+	<nb_visits>5</nb_visits>
+	<nb_actions>5</nb_actions>
+	<nb_visits_converted>0</nb_visits_converted>
+	<bounce_count>5</bounce_count>
+	<sum_visit_length>0</sum_visit_length>
+	<max_actions>1</max_actions>
+	<bounce_rate>100%</bounce_rate>
+	<nb_actions_per_visit>1</nb_actions_per_visit>
+	<avg_time_on_site>0</avg_time_on_site>
+</result>
\ No newline at end of file
diff --git a/tests/PHPUnit/Integration/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_month.xml b/tests/PHPUnit/Integration/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_month.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3cdd6ab92e615e507e8fa80b5be32c3603ce2c19
--- /dev/null
+++ b/tests/PHPUnit/Integration/expected/test_MultipleSitesArchivingTest_sitesGroup__VisitsSummary.get_month.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<result>
+	<nb_uniq_visitors>3</nb_uniq_visitors>
+	<nb_visits>5</nb_visits>
+	<nb_actions>5</nb_actions>
+	<nb_visits_converted>0</nb_visits_converted>
+	<bounce_count>5</bounce_count>
+	<sum_visit_length>0</sum_visit_length>
+	<max_actions>1</max_actions>
+	<bounce_rate>100%</bounce_rate>
+	<nb_actions_per_visit>1</nb_actions_per_visit>
+	<avg_time_on_site>0</avg_time_on_site>
+</result>
\ No newline at end of file