This error is caused by using more than one ObjectOutputStream on the same socket. Use the same ObjectOutputstream and ObjectInputStream for the life of the socket, at both ends. Same goes for most other stream and reader/writer types, except that the consequences of not doing so are usually even more mysterious.