diff --git a/effects/desktopgrid/desktopgrid.cpp b/effects/desktopgrid/desktopgrid.cpp
index 00aa846e16..3dd210fb6a 100644
--- a/effects/desktopgrid/desktopgrid.cpp
+++ b/effects/desktopgrid/desktopgrid.cpp
@@ -1126,7 +1126,8 @@ void DesktopGridEffect::setup()
bool enableRemove = effects->numberOfDesktops() > 1;
QHash< DesktopButtonsView*, EffectWindow* >::iterator it = m_desktopButtonsViews.begin();
- for (int i = 0; i < effects->numScreens(); ++i) {
+ const int n = DesktopGridConfig::showAddRemove() ? effects->numScreens() : 0;
+ for (int i = 0; i < n; ++i) {
DesktopButtonsView *view;
if (it == m_desktopButtonsViews.end()) {
view = new DesktopButtonsView();
diff --git a/effects/desktopgrid/desktopgrid.kcfg b/effects/desktopgrid/desktopgrid.kcfg
index 452be24c7c..37934a9e07 100644
--- a/effects/desktopgrid/desktopgrid.kcfg
+++ b/effects/desktopgrid/desktopgrid.kcfg
@@ -24,5 +24,8 @@
true
+
+ true
+
diff --git a/effects/desktopgrid/desktopgrid_config.ui b/effects/desktopgrid/desktopgrid_config.ui
index 8347d50691..50a73b195b 100644
--- a/effects/desktopgrid/desktopgrid_config.ui
+++ b/effects/desktopgrid/desktopgrid_config.ui
@@ -52,7 +52,7 @@
-
- &Border width:
+ Border wid&th:
Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
@@ -142,7 +142,7 @@
-
- Number of &rows:
+ N&umber of rows:
Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
@@ -191,6 +191,13 @@
+ -
+
+
+ Show buttons to alter count of virtual desktops
+
+
+