diff -bur wmii-3.1.tar.gz.out/wmii-3.1/cmd/wm/area.c wmii-3.1/cmd/wm/area.c --- wmii-3.1.tar.gz.out/wmii-3.1/cmd/wm/area.c 2006-06-17 04:44:30.000000000 -0700 +++ wmii-3.1/cmd/wm/area.c 2006-08-03 19:42:57.000000000 -0700 @@ -112,15 +112,17 @@ else i = 1; } else if(!strncmp(arg, "prev", 5)) { - if(i <= 1) + if (i == 0) return; + else if(i <= 1) + i = v->area.size - 1; else i--; } else if(!strncmp(arg, "next", 5)) { - if(i > 0 && (i + 1 < v->area.size)) - i++; - else + if (i == 0) return; + else + i = (i % (v->area.size - 1)) + 1; } else { const char *errstr;