void
 resizecol(Arg *arg) {
+       int s;
        unsigned int n;
        Client *c;
 
        if(!sel || sel->isfloat || n < 2 || (arrange == dofloat))
                return;
 
+       s = stackpos == StackBottom ? sh - bh : sw;
        if(sel == getnext(clients)) {
-               if(master + arg->i > sw - MINW || master + arg->i < MINW)
+               if(master + arg->i > s - MINW || master + arg->i < MINW)
                        return;
                master += arg->i;
        }
        else {
-               if(master - arg->i > sw - MINW || master - arg->i < MINW)
+               if(master - arg->i > s - MINW || master - arg->i < MINW)
                        return;
                master -= arg->i;
        }