diff --git a/plugins/Actions/Archiving.php b/plugins/Actions/Archiving.php
index 3abe7a45f0defc4aabb4f18eee488138b2e46741..fa514b6ef9ad67fa8474f6dd02611d98293d0b2d 100644
--- a/plugins/Actions/Archiving.php
+++ b/plugins/Actions/Archiving.php
@@ -106,6 +106,33 @@ class Piwik_Actions_Archiving
     public function archiveDay(Piwik_ArchiveProcessing $archiveProcessing)
     {
         $rankingQueryLimit = self::getRankingQueryLimit();
+        
+        // FIXME: This is a quick fix for #3482. The actual cause of the bug is that
+        // the site search & performance metrics additions to 
+        // Piwik_Actions_ArchivingHelper::updateActionsTableWithRowQuery expect every
+        // row to have 'type' data, but not all of the SQL queries that are run w/o
+        // ranking query join on the log_action table and thus do not select the
+        // log_action.type column.
+        // 
+        // NOTES: Archiving logic can be generalized as follows:
+        // 0) Do SQL query over log_link_visit_action & join on log_action to select
+        //    some metrics (like visits, hits, etc.)
+        // 1) For each row, cache the action row & metrics. (This is done by
+        //    updateActionsTableWithRowQuery for result set rows that have 
+        //    name & type columns.)
+        // 2) Do other SQL queries for metrics we can't put in the first query (like
+        //    entry visits, exit vists, etc.) w/o joining log_action.
+        // 3) For each row, find the cached row by idaction & add the new metrics to
+        //    it. (This is done by updateActionsTableWithRowQuery for result set rows
+        //    that DO NOT have name & type columns.)
+        // 
+        // The site search & performance metrics additions expect a 'type' all the time
+        // which breaks the original pre-rankingquery logic. Ranking query requires a
+        // join, so the bug is only seen when ranking query is disabled.
+        if ($rankingQueryLimit === 0) {
+            $rankingQueryLimit = 100000;
+        }
+        
         Piwik_Actions_ArchivingHelper::reloadConfig();
 
         $this->initActionsTables();
diff --git a/plugins/Actions/ArchivingHelper.php b/plugins/Actions/ArchivingHelper.php
index 3b4df0fee8c3d42913e8267acefb52afdfbca20c..e5773d96e678e71196018ff1ec024f4af5bd8622 100644
--- a/plugins/Actions/ArchivingHelper.php
+++ b/plugins/Actions/ArchivingHelper.php
@@ -22,6 +22,8 @@ class Piwik_Actions_ArchivingHelper
     const OTHERS_ROW_KEY = '';
 
     /**
+     * FIXME See FIXME related to this function at Piwik_Actions_Archiving::archiveDay.
+     * 
      * @param Zend_Db_Statement|PDOStatement $query
      * @param string|bool $fieldQueried
      * @param array $actionsTablesByType
diff --git a/tests/PHPUnit/Integration/BlobReportLimitingTest.php b/tests/PHPUnit/Integration/BlobReportLimitingTest.php
index b18c7707d865e3ccf981b97924dbd9ec4a9e6643..e64a77e44d79b21039730399a1087da3741913e8 100755
--- a/tests/PHPUnit/Integration/BlobReportLimitingTest.php
+++ b/tests/PHPUnit/Integration/BlobReportLimitingTest.php
@@ -48,6 +48,15 @@ class Test_Piwik_Integration_BlobReportLimitingTest extends IntegrationTestCase
                                        'periods' => 'day')),
         );
     }
+    
+    public function getRankingQueryDisabledApiForTesting()
+    {
+        return array(
+            array('Actions.getPageUrls', array('idSite'  => self::$fixture->idSite,
+                                               'date'    => self::$fixture->dateTime,
+                                               'periods' => array('day'))),
+        );
+    }
 
     /**
      * @dataProvider getApiForTesting
@@ -82,6 +91,29 @@ class Test_Piwik_Integration_BlobReportLimitingTest extends IntegrationTestCase
             $this->runApiTests($apiToCall, $params);
         }
     }
+    
+    /**
+     * @group        Integration
+     * @group        BlobReportLimiting
+     */
+    public function testApiWithRankingQueryDisabled()
+    {
+        self::deleteArchiveTables();
+        $generalConfig =& Piwik_Config::getInstance()->General;
+        $generalConfig['datatable_archiving_maximum_rows_referers'] = 500;
+        $generalConfig['datatable_archiving_maximum_rows_subtable_referers'] = 500;
+        $generalConfig['datatable_archiving_maximum_rows_actions'] = 500;
+        $generalConfig['datatable_archiving_maximum_rows_subtable_actions'] = 500;
+        $generalConfig['datatable_archiving_maximum_rows_standard'] = 500;
+        $generalConfig['archiving_ranking_query_row_limit'] = 0;
+        
+        foreach ($this->getRankingQueryDisabledApiForTesting() as $pair) {
+            list($apiToCall, $params) = $pair;
+            $params['testSuffix'] = '_rankingQueryDisabled';
+
+            $this->runApiTests($apiToCall, $params);
+        }
+    }
 
     public function getOutputPrefix()
     {