Index: drbd_receiver.c =================================================================== --- drbd_receiver.c (revision 20778) +++ drbd_receiver.c (working copy) @@ -2410,6 +2410,7 @@ if (nconn == WFReportParams ) nconn = Connected; if (mdev->p_uuid && oconn <= Connected && + peer_state.conn <= Connected && peer_state.disk >= Negotiating && inc_local_if_state(mdev,Negotiating) ) { nconn=drbd_sync_handshake(mdev,peer_state.role,peer_state.disk); Index: drbd_main.c =================================================================== --- drbd_main.c (revision 20778) +++ drbd_main.c (working copy) @@ -961,6 +961,12 @@ drbd_send_state(mdev); } + /* we just finished syncing as the target , tell peer in case we were delayed*/ + if ((os.conn == SyncTarget || os.conn == PausedSyncT) && + (ns.conn == Connected) ) { + drbd_send_state(mdev); + } + /* In case one of the isp bits got set, suspend other devices. */ if ( ( !os.aftr_isp && !os.peer_isp && !os.user_isp) && ( ns.aftr_isp || ns.peer_isp || ns.user_isp) ) {