diff --git a/core/PluginsManager.php b/core/PluginsManager.php
index b56f4a4e43815fe5ddab9c33d444fe70f57bf985..48e13ead164b59aba0cefec736b8a65aba634dcd 100644
--- a/core/PluginsManager.php
+++ b/core/PluginsManager.php
@@ -34,7 +34,7 @@ class PluginsManager
     /**
      * Default theme used in Piwik.
      */
-    const DEFAULT_THEME="Zeitgeist";
+    const DEFAULT_THEME = "Zeitgeist";
 
     protected $doLoadAlwaysActivatedPlugins = true;
     protected $pluginToAlwaysActivate = array(
@@ -54,6 +54,13 @@ class PluginsManager
         self::DEFAULT_THEME,
     );
 
+    protected $corePluginsDisabledByDefault = array(
+        'AnonymizeIP',
+        'DBStats',
+        'DevicesDetection',
+        'TreemapVisualization', // should be moved to marketplace
+    );
+
     // If a plugin hooks onto at least an event starting with "Tracker.", we load the plugin during tracker
     const TRACKER_EVENT_PREFIX = 'Tracker.';
 
@@ -114,7 +121,7 @@ class PluginsManager
      * @param string $name  Name of plugin
      * @return bool
      */
-    public function isPluginAlwaysActivated($name)
+    private function isPluginAlwaysActivated($name)
     {
         return in_array($name, $this->pluginToAlwaysActivate);
     }
@@ -125,13 +132,9 @@ class PluginsManager
      * @param $name
      * @return bool
      */
-    public function isPluginUninstallable($name)
+    private function isPluginUninstallable($name)
     {
-        // Reading the plugins from the global.ini.php config file
-        $pluginsBundledWithPiwik = Config::getInstance()->getFromDefaultConfig('Plugins');
-        $pluginsBundledWithPiwik = $pluginsBundledWithPiwik['Plugins'];
-
-        return !in_array($name, $pluginsBundledWithPiwik);
+        return !$this->isPluginBundledWithCore($name);
     }
 
     /**
@@ -340,6 +343,70 @@ class PluginsManager
         return false;
     }
 
+    /**
+     * Loads in memory the Plugins specified in the config.ini.php file
+     *
+     * @return array
+     */
+    public function returnLoadedPluginsInfo()
+    {
+        $plugins = array();
+
+        $listPlugins = array_merge(
+            $this->readPluginsDirectory(),
+            Config::getInstance()->Plugins['Plugins']
+        );
+        $listPlugins = array_unique($listPlugins);
+        foreach ($listPlugins as $pluginName) {
+            // If the plugin is not core and looks bogus, do not load
+            if($this->isPluginThirdPartyAndBogus($pluginName))
+            {
+//                echo $pluginName;
+                continue;
+            }
+
+            $this->loadPlugin($pluginName);
+
+            $plugins[$pluginName] = array(
+                'activated'       => $this->isPluginActivated($pluginName),
+                'alwaysActivated' => $this->isPluginAlwaysActivated($pluginName),
+                'uninstallable'   => $this->isPluginUninstallable($pluginName),
+            );
+        }
+        $this->loadPluginTranslations();
+
+        $loadedPlugins = $this->getLoadedPlugins();
+        foreach ($loadedPlugins as $oPlugin) {
+            $pluginName = $oPlugin->getPluginName();
+            $plugins[$pluginName]['info'] = $oPlugin->getInformation();
+        }
+        return $plugins;
+    }
+
+
+    protected static function isManifestFileFound($path)
+    {
+        return file_exists($path . "/" . MetadataLoader::PLUGIN_JSON_FILENAME);
+    }
+
+    protected function isPluginBundledWithCore($name)
+    {
+        // Reading the plugins from the global.ini.php config file
+        $pluginsBundledWithPiwik = Config::getInstance()->getFromDefaultConfig('Plugins');
+        $pluginsBundledWithPiwik = $pluginsBundledWithPiwik['Plugins'];
+
+        return in_array($name, $pluginsBundledWithPiwik)
+                || in_array($name, $this->corePluginsDisabledByDefault);
+    }
+
+    protected function isPluginThirdPartyAndBogus($pluginName)
+    {
+        $path = $this->getPluginsDirectory() . $pluginName;
+        return !$this->isPluginBundledWithCore($pluginName)
+        && !$this->isManifestFileFound($path);
+    }
+
+
     /**
      * Load the specified plugins
      *
@@ -721,7 +788,7 @@ class PluginsManager
     {
         $name = basename($path);
         return file_exists($path . "/" . $name . ".php")
-             || file_exists($path . "/" . MetadataLoader::PLUGIN_JSON_FILENAME);
+             || self::isManifestFileFound($path);
     }
 }
 
diff --git a/plugins/CorePluginsAdmin/Controller.php b/plugins/CorePluginsAdmin/Controller.php
index 946eb15c4c9e6af07279824efe8d2333456491c5..566ab4f76c32512b0a8bc9d4a384ac38cb5c0f94 100644
--- a/plugins/CorePluginsAdmin/Controller.php
+++ b/plugins/CorePluginsAdmin/Controller.php
@@ -202,38 +202,13 @@ class Controller extends \Piwik\Controller\Admin
 
     protected function getPluginsInfo($themesOnly = false)
     {
-        $plugins = array();
-
-        $pluginsManager = \Piwik\PluginsManager::getInstance();
-        $listPlugins = array_merge(
-            $pluginsManager->readPluginsDirectory(),
-            Config::getInstance()->Plugins['Plugins']
-        );
-        $listPlugins = array_unique($listPlugins);
-        foreach ($listPlugins as $pluginName) {
-            \Piwik\PluginsManager::getInstance()->loadPlugin($pluginName);
-            $plugins[$pluginName] = array(
-                'activated'       => $pluginsManager->isPluginActivated($pluginName),
-                'alwaysActivated' => $pluginsManager->isPluginAlwaysActivated($pluginName),
-                'uninstallable'   => $pluginsManager->isPluginUninstallable($pluginName),
-            );
-        }
-        $pluginsManager->loadPluginTranslations();
-
-        $loadedPlugins = $pluginsManager->getLoadedPlugins();
-
-        foreach ($loadedPlugins as $oPlugin) {
-            $pluginName = $oPlugin->getPluginName();
-
-            $plugins[$pluginName]['info'] = $oPlugin->getInformation();
-        }
-
+        $plugins = PluginsManager::getInstance()->returnLoadedPluginsInfo();
 
         foreach ($plugins as $pluginName => &$plugin) {
             if (!isset($plugin['info'])) {
                 $plugin['info'] = array(
                     'description' => '<strong><em>' . Piwik_Translate('CorePluginsAdmin_PluginCannotBeFound')
-                        . '</strong></em>',
+                    . '</strong></em>',
                     'version'     => Piwik_Translate('General_Unknown'),
                     'theme'       => false,
                 );
@@ -243,7 +218,7 @@ class Controller extends \Piwik\Controller\Admin
         $pluginsFiltered = $this->keepPluginsOrThemes($themesOnly, $plugins);
         return $pluginsFiltered;
     }
-
+    
     protected function keepPluginsOrThemes($themesOnly, $plugins)
     {
         $pluginsFiltered = array();
diff --git a/plugins/CorePluginsAdmin/PluginInstaller.php b/plugins/CorePluginsAdmin/PluginInstaller.php
index 5978f2cc832bbe9d9fa5b6cb4df331cd2b22ad86..f9c04d8a7f9ea621dcdd781ee4d878f381da0650 100644
--- a/plugins/CorePluginsAdmin/PluginInstaller.php
+++ b/plugins/CorePluginsAdmin/PluginInstaller.php
@@ -19,7 +19,7 @@ use Piwik\Unzip;
  */
 class PluginInstaller
 {
-    const PATH_TO_DOWNLOAD = '/tmp/plugins/';
+    const PATH_TO_DOWNLOAD = '/tmp/latest/plugins/';
     const PATH_TO_EXTRACT  = '/plugins/';
 
     private $pluginName;