diff --git a/src/libcharon/sa/ikev1/tasks/quick_delete.c b/src/libcharon/sa/ikev1/tasks/quick_delete.c index 0191a45a8..67306912f 100644 --- a/src/libcharon/sa/ikev1/tasks/quick_delete.c +++ b/src/libcharon/sa/ikev1/tasks/quick_delete.c @@ -38,6 +38,7 @@ #include #include +#include typedef struct private_quick_delete_t private_quick_delete_t; @@ -106,6 +107,10 @@ static bool delete_child(private_quick_delete_t *this, protocol_id_t protocol, } rekeyed = child_sa->get_state(child_sa) == CHILD_REKEYED; + if (!rekeyed) + { + rekeyed = ikev1_child_sa_is_redundant(this->ike_sa, child_sa, NULL); + } child_sa->set_state(child_sa, CHILD_DELETING); my_ts = linked_list_create_from_enumerator(