diff --git a/src/backend/replication/syncrep.c b/src/backend/replication/syncrep.c
index a2ae8700d12a9cd1603a6775aa94385743a9a302..a3319642c628e99aef7c5cf55b40d2ddb907bbe5 100644
--- a/src/backend/replication/syncrep.c
+++ b/src/backend/replication/syncrep.c
@@ -397,6 +397,7 @@ SyncRepReleaseWaiters(void)
 		volatile WalSnd *walsnd = &walsndctl->walsnds[i];
 
 		if (walsnd->pid != 0 &&
+			walsnd->state == WALSNDSTATE_STREAMING &&
 			walsnd->sync_standby_priority > 0 &&
 			(priority == 0 ||
 			 priority > walsnd->sync_standby_priority))