diff --git a/servers/slapd/connection.c b/servers/slapd/connection.c
index c8cb2b7738d28228ab643a3a6d35465e94267e0c..32326fcb18cced158b1a05350d7fadd3d9bc4976 100644
--- a/servers/slapd/connection.c
+++ b/servers/slapd/connection.c
@@ -741,6 +741,9 @@ static void connection_abandon( Connection *c )
 		SlapReply rs = {REP_RESULT};
 
 		next = LDAP_STAILQ_NEXT( o, o_next );
+		/* don't abandon an op twice */
+		if ( o->o_abandon )
+			continue;
 		op.orn_msgid = o->o_msgid;
 		o->o_abandon = 1;
 		op.o_bd = frontendDB;