diff --git a/CHANGES b/CHANGES
index 673776c4c79a4ca00ba012b0ae31c0a92790b963..658c98b8e107fd93e778c644dee8af0dcea3085b 100644
--- a/CHANGES
+++ b/CHANGES
@@ -33,6 +33,7 @@ OpenLDAP 2.4.13 Engineering
 	Fixed slapo-rwm rewriting undefined filter (ITS#5731)
 	Fixed slapo-rwm rewritten DN-valued attrs (ITS#5772)
 	Fixed slapo-rwm reusing freed filter (ITS#5732)
+	Fixed slapo-syncprov runqueue removal (ITS#5776)
 	Added slapo-translucent try local bind when remote fails (ITS#5656)
 	Added slapo-translucent support for PasswordModify exop (ITS#5656)
 	Fixed tools simple bind without SASL (ITS#5753)
diff --git a/servers/slapd/overlays/syncprov.c b/servers/slapd/overlays/syncprov.c
index db113f042be0ff142df37556fb467e8ef86027f3..7aaa5f9c67a7bfc3e2a8ea2f49507c078144bb03 100644
--- a/servers/slapd/overlays/syncprov.c
+++ b/servers/slapd/overlays/syncprov.c
@@ -908,6 +908,10 @@ syncprov_qplay( Operation *op, struct re_s *rtask )
 	} else {
 		/* bail out on any error */
 		ldap_pvt_runqueue_remove( &slapd_rq, rtask );
+
+		/* Prevent duplicate remove */
+		if ( so->s_qtask == rtask )
+			so->s_qtask = NULL;
 	}
 	ldap_pvt_thread_mutex_unlock( &slapd_rq.rq_mutex );
 	ldap_pvt_thread_mutex_unlock( &so->s_mutex );