Index: drbd/drbd_receiver.c =================================================================== --- drbd/drbd_receiver.c (revision 15901) +++ drbd/drbd_receiver.c (working copy) @@ -2408,11 +2408,12 @@ if (nconn == WFReportParams ) nconn = Connected; if (mdev->p_uuid && oconn <= Connected && - inc_local_if_state(mdev,Negotiating) && peer_state.disk >= Negotiating) { - nconn=drbd_sync_handshake(mdev,peer_state.role,peer_state.disk); - dec_local(mdev); - + if(inc_local_if_state(mdev,Negotiating)) { + nconn=drbd_sync_handshake(mdev,peer_state.role,peer_state.disk); + dec_local(mdev); + } + if(nconn == conn_mask) return FALSE; }