diff -r 99bc71d78a95 -r 04734db9a219 view.c --- a/view.c Fri Jan 05 15:04:49 2007 +0100 +++ b/view.c Fri Jan 05 15:08:25 2007 +0100 @@ -302,10 +302,11 @@ } for(n = 0, c = nexttiled(clients); c; c = nexttiled(c->next)) n++; + + c = sel; if(n <= nmaster || (arrange == dofloat)) - return; - - if(ismaster((c = sel))) { + pop(c); + else if(ismaster(sel)) { if(!(c = topofstack())) return; swap(c, sel);