diff --git a/core/ViewDataTable/Manager.php b/core/ViewDataTable/Manager.php
index 75d4e303ad50d2cda45f713b84562837e3f4c38b..858b2087429dd612fb2e27541a84e09c3fd15b51 100644
--- a/core/ViewDataTable/Manager.php
+++ b/core/ViewDataTable/Manager.php
@@ -277,6 +277,11 @@ class Manager
         Option::deleteLike('viewDataTableParameters_%');
     }
 
+    public static function clearUserViewDataTableParameters($userLogin)
+    {
+        Option::deleteLike('viewDataTableParameters_' . $userLogin . '_%');
+    }
+
     public static function getViewDataTableParameters($login, $controllerAction)
     {
         $paramsKey = self::buildViewDataTableParametersOptionKey($login, $controllerAction);
diff --git a/plugins/CoreVisualizations/CoreVisualizations.php b/plugins/CoreVisualizations/CoreVisualizations.php
index db3b3f15b6441b07b92c21b488c33e61fb3ce3c7..f5a83c0f518947a3338c8dbe5d75bc544c12e14b 100644
--- a/plugins/CoreVisualizations/CoreVisualizations.php
+++ b/plugins/CoreVisualizations/CoreVisualizations.php
@@ -9,6 +9,8 @@
 
 namespace Piwik\Plugins\CoreVisualizations;
 
+use Piwik\ViewDataTable\Manager as ViewDataTableManager;
+
 require_once PIWIK_INCLUDE_PATH . '/plugins/CoreVisualizations/JqplotDataGenerator.php';
 require_once PIWIK_INCLUDE_PATH . '/plugins/CoreVisualizations/Visualizations/Cloud.php';
 require_once PIWIK_INCLUDE_PATH . '/plugins/CoreVisualizations/Visualizations/HtmlTable.php';
@@ -29,10 +31,16 @@ class CoreVisualizations extends \Piwik\Plugin
             'AssetManager.getStylesheetFiles'        => 'getStylesheetFiles',
             'AssetManager.getJavaScriptFiles'        => 'getJsFiles',
             'ViewDataTable.addViewDataTable'         => 'getAvailableDataTableVisualizations',
-            'Translate.getClientSideTranslationKeys' => 'getClientSideTranslationKeys'
+            'Translate.getClientSideTranslationKeys' => 'getClientSideTranslationKeys',
+            'UsersManager.deleteUser'                => 'deleteUser'
         );
     }
 
+    public function deleteUser($userLogin)
+    {
+        ViewDataTableManager::clearUserViewDataTableParameters($userLogin);
+    }
+
     public function getAvailableDataTableVisualizations(&$visualizations)
     {
         $visualizations[] = 'Piwik\\Plugins\\CoreVisualizations\\Visualizations\\Sparkline';
diff --git a/tests/PHPUnit/Integration/Core/ViewDataTable/ManagerTest.php b/tests/PHPUnit/Integration/Core/ViewDataTable/ManagerTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..4e374fe9e1153673a78da4a4842dfe10a95e304c
--- /dev/null
+++ b/tests/PHPUnit/Integration/Core/ViewDataTable/ManagerTest.php
@@ -0,0 +1,106 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+
+use Piwik\Access;
+use Piwik\ViewDataTable\Manager as ViewDataTableManager;
+
+/**
+ * Class Core_Plugin_SettingsTest
+ * @group Core
+ * @group ViewDataTable
+ */
+class Core_Plugin_ViewDataTable_ManagerTest extends DatabaseTestCase
+{
+
+    public function setUp()
+    {
+        parent::setUp();
+        Access::setSingletonInstance(null);
+    }
+
+    public function test_getViewDataTableParameters_shouldReturnEmptyArray_IfNothingPersisted()
+    {
+        $login        = 'mylogin';
+        $method       = 'API.get';
+        $storedParams = ViewDataTableManager::getViewDataTableParameters($login, $method);
+
+        $this->assertEquals(array(), $storedParams);
+    }
+
+    public function test_getViewDataTableParameters_shouldOnlyReturnParams_IfLoginAndActionMatches()
+    {
+        $params = $this->addParameters();
+
+        $storedParams = ViewDataTableManager::getViewDataTableParameters('WroNgLogIn', $params['method']);
+        $this->assertEquals(array(), $storedParams);
+
+        $storedParams = ViewDataTableManager::getViewDataTableParameters($params['login'], 'API.wRoNg');
+        $this->assertEquals(array(), $storedParams);
+
+        $storedParams = ViewDataTableManager::getViewDataTableParameters($params['login'], $params['method']);
+        $this->assertEquals($params['params'], $storedParams);
+    }
+
+    public function test_clearAllViewDataTableParameters_shouldRemoveAllPersistedParameters()
+    {
+        ViewDataTableManager::saveViewDataTableParameters('mylogin1', 'API.get1', array('flat' => 1));
+        ViewDataTableManager::saveViewDataTableParameters('mylogin1', 'API.get2', array('flat' => 1));
+        ViewDataTableManager::saveViewDataTableParameters('mylogin2', 'API.get3', array('flat' => 1));
+        ViewDataTableManager::saveViewDataTableParameters('mylogin1', 'API.get4', array('flat' => 1));
+        ViewDataTableManager::saveViewDataTableParameters('mylogin3', 'API.get5', array('flat' => 1));
+
+        $this->assertNotEmpty(ViewDataTableManager::getViewDataTableParameters('mylogin1', 'API.get1'));
+        $this->assertNotEmpty(ViewDataTableManager::getViewDataTableParameters('mylogin1', 'API.get2'));
+        $this->assertNotEmpty(ViewDataTableManager::getViewDataTableParameters('mylogin2', 'API.get3'));
+        $this->assertNotEmpty(ViewDataTableManager::getViewDataTableParameters('mylogin1', 'API.get4'));
+        $this->assertNotEmpty(ViewDataTableManager::getViewDataTableParameters('mylogin3', 'API.get5'));
+
+        ViewDataTableManager::clearAllViewDataTableParameters();
+
+        $this->assertEmpty(ViewDataTableManager::getViewDataTableParameters('mylogin1', 'API.get1'));
+        $this->assertEmpty(ViewDataTableManager::getViewDataTableParameters('mylogin1', 'API.get2'));
+        $this->assertEmpty(ViewDataTableManager::getViewDataTableParameters('mylogin2', 'API.get3'));
+        $this->assertEmpty(ViewDataTableManager::getViewDataTableParameters('mylogin1', 'API.get4'));
+        $this->assertEmpty(ViewDataTableManager::getViewDataTableParameters('mylogin3', 'API.get5'));
+    }
+
+
+    public function test_clearUserViewDataTableParameters_shouldOnlyRemoveAUsersParameters()
+    {
+        ViewDataTableManager::saveViewDataTableParameters('mylogin1', 'API.get1', array('flat' => 1));
+        ViewDataTableManager::saveViewDataTableParameters('mylogin1', 'API.get2', array('flat' => 1));
+        ViewDataTableManager::saveViewDataTableParameters('mylogin2', 'API.get3', array('flat' => 1));
+        ViewDataTableManager::saveViewDataTableParameters('mylogin1', 'API.get4', array('flat' => 1));
+        ViewDataTableManager::saveViewDataTableParameters('mylogin3', 'API.get5', array('flat' => 1));
+
+        $this->assertNotEmpty(ViewDataTableManager::getViewDataTableParameters('mylogin1', 'API.get1'));
+        $this->assertNotEmpty(ViewDataTableManager::getViewDataTableParameters('mylogin1', 'API.get2'));
+        $this->assertNotEmpty(ViewDataTableManager::getViewDataTableParameters('mylogin2', 'API.get3'));
+        $this->assertNotEmpty(ViewDataTableManager::getViewDataTableParameters('mylogin1', 'API.get4'));
+        $this->assertNotEmpty(ViewDataTableManager::getViewDataTableParameters('mylogin3', 'API.get5'));
+
+        ViewDataTableManager::clearUserViewDataTableParameters('mylogin1');
+
+        $this->assertEmpty(ViewDataTableManager::getViewDataTableParameters('mylogin1', 'API.get1'));
+        $this->assertEmpty(ViewDataTableManager::getViewDataTableParameters('mylogin1', 'API.get2'));
+        $this->assertEmpty(ViewDataTableManager::getViewDataTableParameters('mylogin1', 'API.get4'));
+        $this->assertNotEmpty(ViewDataTableManager::getViewDataTableParameters('mylogin2', 'API.get3'));
+        $this->assertNotEmpty(ViewDataTableManager::getViewDataTableParameters('mylogin3', 'API.get5'));
+    }
+
+    private function addParameters()
+    {
+        $login  = 'mylogin';
+        $method = 'API.get';
+        $params = array('flat' => '0', 'expanded' => 1, 'viewDataTable' => 'tableAllColumns');
+
+        ViewDataTableManager::saveViewDataTableParameters($login, $method, $params);
+
+        return array('login' => $login, 'method' => $method, 'params' => $params);
+    }
+}
\ No newline at end of file