diff --git a/CHANGES b/CHANGES
index 8c96c2916dbac5873de2384be576e9810faa9359..08a3c6ab628d9a9e2cbdf1888af1b6aaf85189c2 100644
--- a/CHANGES
+++ b/CHANGES
@@ -19,6 +19,7 @@ OpenLDAP 2.4.20 Engineering
 	Fixed slapd invalid dn log message (ITS#6309)
 	Fixed slapd lockup on shutdown (ITS#6372)
 	Fixed slapd sl_free to better reclaim memory (ITS#6380)
+	Fixed slapd syncrepl to use correct SID (ITS#6367)
 	Fixed slapd termination for one level DNs (ITS#6338)
 	Fixed slapd tls_accept to retry in certain cases (ITS#6304)
 	Fixed slapd unused parameter (ITS#6356)
diff --git a/servers/slapd/syncrepl.c b/servers/slapd/syncrepl.c
index 4933933935cc9cea4fd97f3c51fdcdf6307be4d8..9b6d4d3c001dc7f6b2af5de1331eee865862e2c3 100644
--- a/servers/slapd/syncrepl.c
+++ b/servers/slapd/syncrepl.c
@@ -665,6 +665,11 @@ do_syncrep1(
 			si->si_syncCookie.ctxcsn, si->si_syncCookie.rid,
 			si->si_syncCookie.sid );
 	} else {
+		/* ITS#6367: recreate the cookie so it has our SID, not our peer's */
+		ch_free( si->si_syncCookie.octet_str.bv_val );
+		slap_compose_sync_cookie( NULL, &si->si_syncCookie.octet_str,
+			si->si_syncCookie.ctxcsn, si->si_syncCookie.rid,
+			si->si_syncCookie.sid );
 		/* Look for contextCSN from syncprov overlay. */
 		check_syncprov( op, si );
 	}