diff --git a/kwin/src/kcm/breezydesktopeffectkcm.cpp b/kwin/src/kcm/breezydesktopeffectkcm.cpp
index eb8db1a..f9f18c6 100644
--- a/kwin/src/kcm/breezydesktopeffectkcm.cpp
+++ b/kwin/src/kcm/breezydesktopeffectkcm.cpp
@@ -883,7 +883,16 @@ void BreezyDesktopEffectConfig::updateNeckSaverVertical()
void BreezyDesktopEffectConfig::updateDeadZoneThresholdDeg()
{
auto configJsonOpt = XRDriverIPC::instance().retrieveConfig();
- double val = ui.DeadZoneThresholdDeg->value() / 10.0;
+
+ int raw = ui.DeadZoneThresholdDeg->value();
+ const int clampedRaw = std::clamp(raw, 0, 50);
+ if (raw != clampedRaw) {
+ QSignalBlocker b(ui.DeadZoneThresholdDeg);
+ ui.DeadZoneThresholdDeg->setValue(clampedRaw);
+ raw = clampedRaw;
+ }
+
+ double val = raw / 10.0;
val = std::clamp(val, 0.0, 5.0);
const double current = deadZoneThresholdDeg(configJsonOpt);
diff --git a/kwin/src/kcm/breezydesktopeffectkcm.ui b/kwin/src/kcm/breezydesktopeffectkcm.ui
index 875ab1e..32b76ed 100644
--- a/kwin/src/kcm/breezydesktopeffectkcm.ui
+++ b/kwin/src/kcm/breezydesktopeffectkcm.ui
@@ -666,13 +666,13 @@
1
- 0
+ -5
- 50
+ 55
- 0
+ 5
10