diff --git a/config/global.ini.php b/config/global.ini.php
index ff987583d2966fdd7cedc979d3cdf9ce2a898642..d72d5e6150efd19bab20139455d2c6a5c3a8bd3e 100644
--- a/config/global.ini.php
+++ b/config/global.ini.php
@@ -177,6 +177,11 @@ enable_segment_suggested_values = 1
 ; Possible values are "view", "admin", "superuser"
 adding_segment_requires_access = "view"
 
+; Whether it is allowed for users to add segments that affect all websites or not. If there are many websites
+; this admin option can be used to prevent users from performing an action that will have a major impact
+; on Piwik performance.
+allow_adding_segments_for_all_websites = 1
+
 ; this action name is used when the URL ends with a slash /
 ; it is useful to have an actual string to write in the UI
 action_default_name = index
diff --git a/plugins/SegmentEditor/API.php b/plugins/SegmentEditor/API.php
index 301fe44a504ee4799ecf24b5d8997d9543eab91e..98b752cc2aea949b899861a508e092767514c94c 100644
--- a/plugins/SegmentEditor/API.php
+++ b/plugins/SegmentEditor/API.php
@@ -115,7 +115,13 @@ class API extends \Piwik\Plugin\API
 
     protected function checkUserCanAddNewSegment($idSite)
     {
-        if(!$this->isUserCanAddNewSegment($idSite)) {
+        if (empty($idSite)
+            && !SegmentEditor::isAddingSegmentsForAllWebsitesEnabled()
+        ) {
+            throw new Exception(Piwik::translate('SegmentEditor_AddingSegmentForAllWebsitesDisabled'));
+        }
+
+        if (!$this->isUserCanAddNewSegment($idSite)) {
             throw new Exception(Piwik::translate('SegmentEditor_YouDontHaveAccessToCreateSegments'));
         }
     }
diff --git a/plugins/SegmentEditor/SegmentEditor.php b/plugins/SegmentEditor/SegmentEditor.php
index a79cc0be24da337343020d13edbb6bf97557d995..bd957c54c011dd57278fd0426beade837b968f8e 100644
--- a/plugins/SegmentEditor/SegmentEditor.php
+++ b/plugins/SegmentEditor/SegmentEditor.php
@@ -8,6 +8,7 @@
  */
 namespace Piwik\Plugins\SegmentEditor;
 
+use Piwik\Config;
 use Piwik\Db;
 use Piwik\DbHelper;
 use Piwik\Version;
@@ -98,4 +99,14 @@ class SegmentEditor extends \Piwik\Plugin
     {
         $stylesheets[] = "plugins/SegmentEditor/stylesheets/segmentation.less";
     }
+
+    /**
+     * Returns whether adding segments for all websites is enabled or not.
+     *
+     * @return bool
+     */
+    public static function isAddingSegmentsForAllWebsitesEnabled()
+    {
+        return Config::getInstance()->General['allow_adding_segments_for_all_websites'] == 1;
+    }
 }
diff --git a/plugins/SegmentEditor/SegmentSelectorControl.php b/plugins/SegmentEditor/SegmentSelectorControl.php
index bb58caa29762c6cf20eeb6ff443569669d46582c..4e88d2191f12803d74d538374c1e1fd84a88473b 100644
--- a/plugins/SegmentEditor/SegmentSelectorControl.php
+++ b/plugins/SegmentEditor/SegmentSelectorControl.php
@@ -37,6 +37,8 @@ class SegmentSelectorControl extends UIControl
 
         $this->selectedSegment = Common::getRequestVar('segment', false, 'string');
 
+        $this->isAddingSegmentsForAllWebsitesEnabled = SegmentEditor::isAddingSegmentsForAllWebsitesEnabled();
+
         $segments = APIMetadata::getInstance()->getSegmentsMetadata($this->idSite);
 
         $segmentsByCategory = array();
diff --git a/plugins/SegmentEditor/lang/en.json b/plugins/SegmentEditor/lang/en.json
index 999b0d41bbfb8438a31a8475b6e090842f077958..a3f03751d84d64f5d10d823f80f3b0762b51636e 100644
--- a/plugins/SegmentEditor/lang/en.json
+++ b/plugins/SegmentEditor/lang/en.json
@@ -24,6 +24,7 @@
         "VisibleToMe": "me",
         "YouMayChangeSetting": "Alternatively you may change the setting in the config file (%s), or edit this Segment and choose '%s'.",
         "YouMustBeLoggedInToCreateSegments": "You must be logged in to create and edit custom visitor segments.",
-        "YouDontHaveAccessToCreateSegments": "You don't have the required access level to create and edit segments."
+        "YouDontHaveAccessToCreateSegments": "You don't have the required access level to create and edit segments.",
+        "AddingSegmentForAllWebsitesDisabled": "Adding segments for all websites has been disabled."
     }
 }
\ No newline at end of file
diff --git a/plugins/SegmentEditor/templates/_segmentSelector.twig b/plugins/SegmentEditor/templates/_segmentSelector.twig
index 89c8a314bf379ba560bee201555f06c77072e190..1d1b2275d84be85b518f9e652457eea502409fd7 100644
--- a/plugins/SegmentEditor/templates/_segmentSelector.twig
+++ b/plugins/SegmentEditor/templates/_segmentSelector.twig
@@ -122,7 +122,7 @@
                 {{ 'SegmentEditor_SegmentIsDisplayedForWebsite'|translate }}<span class="visible_to_website"><strong>
                         <select class="visible_to_website_select">
                             <option selected="" value="{{ idSite }}">{{ 'SegmentEditor_SegmentDisplayedThisWebsiteOnly'|translate }}</option>
-                            <option value="0">{{ 'SegmentEditor_SegmentDisplayedAllWebsites'|translate }}</option>
+                            {% if isAddingSegmentsForAllWebsitesEnabled %}<option value="0">{{ 'SegmentEditor_SegmentDisplayedAllWebsites'|translate }}</option>{% endif %}
                         </select>
                     </strong></span>
                 {{ 'General_And'|translate }} <span class="auto_archive"><strong>