diff --git a/tests/PHPUnit/Fixtures/VisitsOverSeveralDays.php b/tests/PHPUnit/Fixtures/VisitsOverSeveralDays.php
index 08d7e3dbcdaa29982fcc722dff7c67cdda211a87..09ba1ea470abcd211a97a31ced79a8174e6ffaa8 100644
--- a/tests/PHPUnit/Fixtures/VisitsOverSeveralDays.php
+++ b/tests/PHPUnit/Fixtures/VisitsOverSeveralDays.php
@@ -85,7 +85,8 @@ class Test_Piwik_Fixture_VisitsOverSeveralDays extends Fixture
             $visitor->setIp('200.1.15.22');
 
             $visitor->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.2)->getDatetime());
-            $visitor->setUrl('http://example.org/news');
+            $urlWithThreeSubdirectories = 'http://example.org/sub1/sub2/sub3/news';
+            $visitor->setUrl($urlWithThreeSubdirectories);
             self::checkResponse($visitor->doTrackPageView('ou pas'));
 
             // SECOND VISIT THIS DAY
diff --git a/tests/PHPUnit/Integration/OneVisitorOneWebsite_SeveralDaysDateRange_ArchivingTestsTest.php b/tests/PHPUnit/Integration/OneVisitorOneWebsite_SeveralDaysDateRange_ArchivingTestsTest.php
index 124c76044f82f85c6080a1a76ae2c124f5c211d9..b751a1b4a58fefaa94599af23ef0ffe8df02a60a 100755
--- a/tests/PHPUnit/Integration/OneVisitorOneWebsite_SeveralDaysDateRange_ArchivingTestsTest.php
+++ b/tests/PHPUnit/Integration/OneVisitorOneWebsite_SeveralDaysDateRange_ArchivingTestsTest.php
@@ -58,35 +58,54 @@ class Test_Piwik_Integration_OneVisitorOneWebsite_SeveralDaysDateRange_Archiving
             }
         }
 
+        // Testing Date range in January only
+        // Because of flat=1, this test will archive all sub-tables
+        $result[] = array('Actions.getPageUrls', array('idSite'  => $idSite, 'date' => '2011-01-01,2011-02-01',
+                                            'periods' => array('range'),
+                                            'otherRequestParameters' => array(
+                                                'flat'                   => '1',
+                                            ),
+                                            'testSuffix' => '_periodIsRange_flattened_')
+        );
         return $result;
     }
 
     /**
+     *  Check that requesting period "Range" means only processing
+     *  the requested Plugin blob (Actions in this case), not all Plugins blobs
+
      * @depends      testApi
      * @group        Integration
      * *
      */
-    public function testCheck()
+    public function test_checkArchiveRecords_whenPeriodIsRange()
     {
-        // Check that requesting period "Range" means
-        // only processing the requested Plugin blob (Actions in this case), not all Plugins blobs
+        // we expect 5 blobs for Actions plugins, because flat=1 or expanded=1 was not set
+        // so we only archived the parent table
+        $expectedActionsBlobs = 5;
+
+        // When flat=1, Actions plugin will process 5 + 3 extra blobs (URL = 'http://example.org/sub1/sub2/sub3/news')
+        $expectedActionsBlobsWhenFlattened = $expectedActionsBlobs + 3;
+
         $tests = array(
-            // 5 blobs for the Actions plugin, 7 blobs for UserSettings, 2 blobs VisitTime
-            'archive_blob_2010_12'    => (5 + 8 + 2) * 3,
+            // TODO Implement fix, then remove the +3 below
+            'archive_blob_2010_12'    => ( ($expectedActionsBlobs+3) /*Actions*/
+                                            + 8 /* UserSettings */
+                                            + 2 /* VisitTime */) * 3,
 
             /**
              *  In Each "Period=range" Archive, we expect following non zero numeric entries:
-             *                 5 metrics + 1 flag  //VisitsSummary
-             *               + 2 metrics + 1 flag //Actions
+             *                 5 metrics + 1 flag  // VisitsSummary
+             *               + 2 metrics + 1 flag // Actions
              *               + 1 flag // UserSettings
-             *               + 1 flag //VisitTime
+             *               + 1 flag // VisitTime
              *               = 11
              *
              *   because we call VisitFrequency.get, this creates an archive for the visitorType==returning segment.
              *          -> There are two archives for each segment (one for "countryCode!=aa"
              *                      and VisitFrequency creates one for "countryCode!=aa;visitorType==returning")
              *
-             * So each period=range will have = 11 records + (5 metrics + 1flag // VisitsSummary)
+             * So each period=range will have = 11 records + (5 metrics + 1 flag // VisitsSummary)
              *                                = 17
              *
              * Total expected records = count unique archives * records per archive
@@ -95,9 +114,23 @@ class Test_Piwik_Integration_OneVisitorOneWebsite_SeveralDaysDateRange_Archiving
              */
             'archive_numeric_2010_12' => 17 * 3,
 
-            // all "Range" records are in December
-            'archive_blob_2011_01'    => 0,
-            'archive_numeric_2011_01' => 0,
+
+            /**
+             * In the January date range,
+             * we archive only Actions plugins.
+             * It is flattened so all 3 sub-tables should be archived.
+             */
+            'archive_blob_2011_01'    => $expectedActionsBlobsWhenFlattened,
+
+            /**
+             *   5 metrics + 1 flag // VisitsSummary
+             * + 2 metrics + 1 flag // Actions
+             */
+            'archive_numeric_2011_01' => (6 + 3),
+
+            // nothing in Feb
+            'archive_blob_2011_02'    => 0,
+            'archive_numeric_2011_02' => 0,
         );
         foreach ($tests as $table => $expectedRows) {
             $sql = "SELECT count(*) FROM " . Common::prefixTable($table) . " WHERE period = " . Piwik::$idPeriods['range'];
diff --git a/tests/PHPUnit/Integration/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__Actions.getPageUrls_range.xml b/tests/PHPUnit/Integration/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__Actions.getPageUrls_range.xml
index b0bc244e91c04d6b21dfc58d61208559490205fc..c9d04097521ac420f0657e79263205ee5e4ce763 100644
--- a/tests/PHPUnit/Integration/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__Actions.getPageUrls_range.xml
+++ b/tests/PHPUnit/Integration/expected/test_oneVisitor_oneWebsite_severalDays_DateRange__Actions.getPageUrls_range.xml
@@ -1,15 +1,31 @@
 <?xml version="1.0" encoding="utf-8" ?>
 <result>
+	<row>
+		<label>/homepage</label>
+		<nb_visits>3</nb_visits>
+		<nb_hits>3</nb_hits>
+		<sum_time_spent>1080</sum_time_spent>
+		<entry_nb_visits>3</entry_nb_visits>
+		<entry_nb_actions>6</entry_nb_actions>
+		<entry_sum_visit_length>1083</entry_sum_visit_length>
+		<entry_bounce_count>0</entry_bounce_count>
+		<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
+		<sum_daily_entry_nb_uniq_visitors>2</sum_daily_entry_nb_uniq_visitors>
+		<avg_time_on_page>360</avg_time_on_page>
+		<bounce_rate>0%</bounce_rate>
+		<exit_rate>0%</exit_rate>
+		<url>http://example.org/homepage</url>
+	</row>
 	<row>
 		<label>/news</label>
-		<nb_visits>6</nb_visits>
-		<nb_hits>6</nb_hits>
+		<nb_visits>3</nb_visits>
+		<nb_hits>3</nb_hits>
 		<sum_time_spent>0</sum_time_spent>
 		<entry_nb_visits>3</entry_nb_visits>
 		<entry_nb_actions>3</entry_nb_actions>
 		<entry_sum_visit_length>0</entry_sum_visit_length>
 		<entry_bounce_count>3</entry_bounce_count>
-		<exit_nb_visits>6</exit_nb_visits>
+		<exit_nb_visits>3</exit_nb_visits>
 		<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
 		<sum_daily_entry_nb_uniq_visitors>2</sum_daily_entry_nb_uniq_visitors>
 		<sum_daily_exit_nb_uniq_visitors>2</sum_daily_exit_nb_uniq_visitors>
@@ -19,19 +35,52 @@
 		<url>http://example.org/news</url>
 	</row>
 	<row>
-		<label>/homepage</label>
+		<label>sub1</label>
 		<nb_visits>3</nb_visits>
 		<nb_hits>3</nb_hits>
-		<sum_time_spent>1080</sum_time_spent>
-		<entry_nb_visits>3</entry_nb_visits>
-		<entry_nb_actions>6</entry_nb_actions>
-		<entry_sum_visit_length>1083</entry_sum_visit_length>
-		<entry_bounce_count>0</entry_bounce_count>
-		<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
-		<sum_daily_entry_nb_uniq_visitors>2</sum_daily_entry_nb_uniq_visitors>
-		<avg_time_on_page>360</avg_time_on_page>
+		<sum_time_spent>0</sum_time_spent>
+		<exit_nb_visits>3</exit_nb_visits>
+		<avg_time_on_page>0</avg_time_on_page>
 		<bounce_rate>0%</bounce_rate>
-		<exit_rate>0%</exit_rate>
-		<url>http://example.org/homepage</url>
+		<exit_rate>100%</exit_rate>
+		<subtable>
+			<row>
+				<label>sub2</label>
+				<nb_visits>3</nb_visits>
+				<nb_hits>3</nb_hits>
+				<sum_time_spent>0</sum_time_spent>
+				<exit_nb_visits>3</exit_nb_visits>
+				<avg_time_on_page>0</avg_time_on_page>
+				<bounce_rate>0%</bounce_rate>
+				<exit_rate>100%</exit_rate>
+				<subtable>
+					<row>
+						<label>sub3</label>
+						<nb_visits>3</nb_visits>
+						<nb_hits>3</nb_hits>
+						<sum_time_spent>0</sum_time_spent>
+						<exit_nb_visits>3</exit_nb_visits>
+						<avg_time_on_page>0</avg_time_on_page>
+						<bounce_rate>0%</bounce_rate>
+						<exit_rate>100%</exit_rate>
+						<subtable>
+							<row>
+								<label>/news</label>
+								<nb_visits>3</nb_visits>
+								<nb_hits>3</nb_hits>
+								<sum_time_spent>0</sum_time_spent>
+								<exit_nb_visits>3</exit_nb_visits>
+								<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
+								<sum_daily_exit_nb_uniq_visitors>2</sum_daily_exit_nb_uniq_visitors>
+								<avg_time_on_page>0</avg_time_on_page>
+								<bounce_rate>0%</bounce_rate>
+								<exit_rate>100%</exit_rate>
+								<url>http://example.org/sub1/sub2/sub3/news</url>
+							</row>
+						</subtable>
+					</row>
+				</subtable>
+			</row>
+		</subtable>
 	</row>
 </result>
\ No newline at end of file
diff --git a/tests/PHPUnit/Integration/expected/test_oneVisitor_oneWebsite_severalDays_DateRange_periodIsRange_flattened___Actions.getPageUrls_range.xml b/tests/PHPUnit/Integration/expected/test_oneVisitor_oneWebsite_severalDays_DateRange_periodIsRange_flattened___Actions.getPageUrls_range.xml
new file mode 100644
index 0000000000000000000000000000000000000000..bd8b87ef40d2e894e117b2351cd8dd6696bddf8e
--- /dev/null
+++ b/tests/PHPUnit/Integration/expected/test_oneVisitor_oneWebsite_severalDays_DateRange_periodIsRange_flattened___Actions.getPageUrls_range.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<result>
+	<row>
+		<label>homepage</label>
+		<nb_visits>2</nb_visits>
+		<nb_hits>2</nb_hits>
+		<sum_time_spent>720</sum_time_spent>
+		<entry_nb_visits>2</entry_nb_visits>
+		<entry_nb_actions>4</entry_nb_actions>
+		<entry_sum_visit_length>722</entry_sum_visit_length>
+		<entry_bounce_count>0</entry_bounce_count>
+		<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
+		<sum_daily_entry_nb_uniq_visitors>2</sum_daily_entry_nb_uniq_visitors>
+		<avg_time_on_page>360</avg_time_on_page>
+		<bounce_rate>0%</bounce_rate>
+		<exit_rate>0%</exit_rate>
+		<url>http://example.org/homepage</url>
+	</row>
+	<row>
+		<label>news</label>
+		<nb_visits>2</nb_visits>
+		<nb_hits>2</nb_hits>
+		<sum_time_spent>0</sum_time_spent>
+		<entry_nb_visits>2</entry_nb_visits>
+		<entry_nb_actions>2</entry_nb_actions>
+		<entry_sum_visit_length>0</entry_sum_visit_length>
+		<entry_bounce_count>2</entry_bounce_count>
+		<exit_nb_visits>2</exit_nb_visits>
+		<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
+		<sum_daily_entry_nb_uniq_visitors>2</sum_daily_entry_nb_uniq_visitors>
+		<sum_daily_exit_nb_uniq_visitors>2</sum_daily_exit_nb_uniq_visitors>
+		<avg_time_on_page>0</avg_time_on_page>
+		<bounce_rate>100%</bounce_rate>
+		<exit_rate>100%</exit_rate>
+		<url>http://example.org/news</url>
+	</row>
+</result>
\ No newline at end of file