diff --git a/plugins/Insights/API.php b/plugins/Insights/API.php
index 4234bdd4dc85ed4d6f3f3e715701d114bb46a65d..f26bec619cec251d64eb2ab21dcb3660f2781d9f 100644
--- a/plugins/Insights/API.php
+++ b/plugins/Insights/API.php
@@ -43,14 +43,25 @@ class API extends \Piwik\Plugin\API
             'Referrers_getCampaigns',
             'Referrers_getAll'
         );
-
         // post event to add other reports?
 
+        $reportTableIds   = array();
+        $dataTableManager = DataTable\Manager::getInstance();
+
         $tables = array();
         foreach ($reports as $report) {
-            $tableId  = DataTable\Manager::getInstance()->getMostRecentTableId();
-            $tables[] = $this->getInsightOverview($idSite, $period, $date, $report);
-            DataTable\Manager::getInstance()->deleteAll($tableId);
+            $firstTableId     = $dataTableManager->getMostRecentTableId();
+            $table            = $this->getInsightOverview($idSite, $period, $date, $report);
+            $reportTableIds[] = $table->getId();
+            $lastTableId      = $dataTableManager->getMostRecentTableId();
+
+            for ($index = $firstTableId; $index < $lastTableId; $index++) {
+                if (!in_array($index, $reportTableIds)) {
+                    DataTable\Manager::getInstance()->deleteTable($index);
+                }
+            }
+
+            $tables[] = $table;
         }
 
         $map = new DataTable\Map();