handle remote peer disconnection - fix #4