diff --git a/lnrpc/routerrpc/forward_interceptor.go b/lnrpc/routerrpc/forward_interceptor.go index b3adc48c1..c644cd6b6 100644 --- a/lnrpc/routerrpc/forward_interceptor.go +++ b/lnrpc/routerrpc/forward_interceptor.go @@ -150,6 +150,11 @@ func (r *forwardInterceptor) holdAndForwardToClient( htlc := forward.Packet() inKey := htlc.IncomingCircuit + // ignore already held htlcs. + if _, ok := r.holdForwards[inKey]; ok { + return nil + } + // First hold the forward, then send to client. r.holdForwards[inKey] = forward interceptionRequest := &ForwardHtlcInterceptRequest{