diff --git a/plugins/CoreVisualizations/CoreVisualizations.php b/plugins/CoreVisualizations/CoreVisualizations.php
index 9a5f88e7eccd718eb2919d96e51e73e6dd422e39..0aec35fb3e5eee50a265270f452651e567d80c37 100644
--- a/plugins/CoreVisualizations/CoreVisualizations.php
+++ b/plugins/CoreVisualizations/CoreVisualizations.php
@@ -29,8 +29,7 @@ class CoreVisualizations extends \Piwik\Plugin
             'AssetManager.getStylesheetFiles'        => 'getStylesheetFiles',
             'AssetManager.getJavaScriptFiles'        => 'getJsFiles',
             'Translate.getClientSideTranslationKeys' => 'getClientSideTranslationKeys',
-            'UsersManager.deleteUser'                => 'deleteUser',
-            'ViewDataTable.addViewDataTable'         => 'addViewDataTable'
+            'UsersManager.deleteUser'                => 'deleteUser'
         );
     }
 
@@ -39,23 +38,6 @@ class CoreVisualizations extends \Piwik\Plugin
         ViewDataTableManager::clearUserViewDataTableParameters($userLogin);
     }
 
-    public function addViewDataTable(&$viewDataTable)
-    {
-        // Both are the same HtmlTable, just the Pivot one has some extra logic in case Pivot is used. 
-        // We don't want to use the same HtmlTable twice in the UI. Therefore we always need to remove one.
-        if (Common::getRequestVar('pivotBy', '')) {
-            $tableToRemove = 'Visualizations\HtmlTable';
-        } else {
-            $tableToRemove = 'HtmlTable\PivotBy';
-        }
-
-        foreach ($viewDataTable as $index => $table) {
-            if (Common::stringEndsWith($table, $tableToRemove)) {
-                unset($viewDataTable[$index]);
-            }
-        }
-    }
-
     public function getStylesheetFiles(&$stylesheets)
     {
         $stylesheets[] = "plugins/CoreVisualizations/stylesheets/dataTableVisualizations.less";
diff --git a/plugins/CoreVisualizations/Visualizations/HtmlTable.php b/plugins/CoreVisualizations/Visualizations/HtmlTable.php
index 66cb4c26e96a4dd792b7d994c7148eb7511a657f..dff8aa3e7a4bc390e601e0e3ddc826de6282ead5 100644
--- a/plugins/CoreVisualizations/Visualizations/HtmlTable.php
+++ b/plugins/CoreVisualizations/Visualizations/HtmlTable.php
@@ -70,6 +70,25 @@ class HtmlTable extends Visualization
             $dataTable = $request->process();
             $this->assignTemplateVar('siteSummary', $dataTable);
         }
+
+        if ($this->isPivoted()) {
+            $this->config->columns_to_display = $this->dataTable->getColumns();
+        }
+    }
+
+    public function beforeGenericFiltersAreAppliedToLoadedDataTable()
+    {
+        if ($this->isPivoted()) {
+            $this->config->columns_to_display = $this->dataTable->getColumns();
+
+            $this->dataTable->applyQueuedFilters();
+        }
+
+        parent::beforeGenericFiltersAreAppliedToLoadedDataTable();
     }
 
+    protected function isPivoted()
+    {
+        return $this->requestConfig->pivotBy || Common::getRequestVar('pivotBy', '');
+    }
 }
diff --git a/plugins/CoreVisualizations/Visualizations/HtmlTable/PivotBy.php b/plugins/CoreVisualizations/Visualizations/HtmlTable/PivotBy.php
deleted file mode 100644
index 1703988599fe871475aebda5566c999c46c6b1d4..0000000000000000000000000000000000000000
--- a/plugins/CoreVisualizations/Visualizations/HtmlTable/PivotBy.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?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\CoreVisualizations\Visualizations\HtmlTable;
-
-use Piwik\DataTable;
-use Piwik\Plugins\CoreVisualizations\Visualizations\HtmlTable;
-use Piwik\View;
-
-/**
- * DataTable Visualization that derives from HtmlTable and sets show_extra_columns to true.
- */
-class PivotBy extends HtmlTable
-{
-    public function beforeGenericFiltersAreAppliedToLoadedDataTable()
-    {
-        $this->config->columns_to_display = $this->dataTable->getColumns();
-
-        $this->dataTable->applyQueuedFilters();
-
-        parent::beforeGenericFiltersAreAppliedToLoadedDataTable();
-    }
-
-    public function beforeRender()
-    {
-        parent::beforeRender();
-
-        $this->config->columns_to_display = $this->dataTable->getColumns();
-    }
-}