diff --git a/servers/slapd/syncrepl.c b/servers/slapd/syncrepl.c
index 0e3c34a43159e8a6ad21246a165daa7ceca1a40b..9147f35f0c3d717f9d6c1ff667257a0243bc5c68 100644
--- a/servers/slapd/syncrepl.c
+++ b/servers/slapd/syncrepl.c
@@ -713,6 +713,7 @@ do_syncrep1(
 			ldap_pvt_thread_mutex_unlock( &si->si_cookieState->cs_mutex );
 		}
 
+		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 );
@@ -2898,6 +2899,7 @@ retry_add:;
 					/* Something's wrong, start over */
 					ber_bvarray_free( si->si_syncCookie.ctxcsn );
 					si->si_syncCookie.ctxcsn = NULL;
+					entry_free( entry );
 					ldap_pvt_thread_mutex_lock( &si->si_cookieState->cs_mutex );
 					ber_bvarray_free( si->si_cookieState->cs_vals );
 					ch_free( si->si_cookieState->cs_sids );