The bug pointed out by Jim Powers is acknowledged :-( Minus-5 pts for me and plus-5 bonus points for Jim ;-) The bug was in the file server.sr. I was deleting a client and shifting the remaining clients up to fill up the vacated slot, but without informing the clients that their client index has changed. It is now corrected. Here are the differences as shown by diff: 13d12 < 18,25d16 < ci := 0 # find a vacant slot < fa j := 1 to 10 -> < if clients[j].cn = 0 -> < ci := j < exit < fi < af < 33c24 < nc := nc + 1; --- > nc := nc + 1; ci := ci + 1 46c37 < fa j := 1 to 10 -> --- > fa j := 1 to nc -> 50d40 < clients[j] := cr(0, null, null, "") 51a42,44 > fa j := j to nc -> > clients[j] := clients[j+1] > af 62c55 < fa i := 1 to 10 st clients[i].bnm = clients[x].bnm -> --- > fa i := 1 to nc st clients[i].bnm = clients[x].bnm ->