diff --git a/src/libcharon/sa/ike_sa.c b/src/libcharon/sa/ike_sa.c index 7d432c570e3..6b0e72da326 100644 --- a/src/libcharon/sa/ike_sa.c +++ b/src/libcharon/sa/ike_sa.c @@ -2380,7 +2380,11 @@ METHOD(ike_sa_t, handle_redirect, bool, switch (this->state) { case IKE_CONNECTING: - return redirect_connecting(this, gateway); + if (!has_condition(this, COND_AUTHENTICATED)) + { + return redirect_connecting(this, gateway); + } + /* fall-through during IKE_AUTH if authenticated */ case IKE_ESTABLISHED: return redirect_established(this, gateway); default: