diff --git a/src/client.c b/src/client.c
index 38c00fb8ec6c70c120fd0bcf73bd13facc65c45e..dc58acae918bef6e339ed9ab76080fa3fc543c2e 100644
--- a/src/client.c
+++ b/src/client.c
@@ -3375,7 +3375,7 @@ clientMove_event_filter (XEvent * xevent, gpointer data)
                 clientToggleMaximized (c, WIN_STATE_MAXIMIZED, FALSE);
                 passdata->move_resized = TRUE;
                 passdata->ox = c->x;
-                passdata->mx = c->x + c->width * xratio;
+                passdata->mx = CLAMP(c->x + c->width * xratio, c->x, c->x + c->width);
                 passdata->oy = c->y;
                 passdata->my = c->y - frameTop(c) / 2;
                 toggled_maximize = TRUE;