diff -r ef893827b4d1 -r 2df28d7a2299 vpnengine/ikev2lib/src/ikev2messagesendqueue.cpp --- a/vpnengine/ikev2lib/src/ikev2messagesendqueue.cpp Mon Jan 18 21:14:04 2010 +0200 +++ b/vpnengine/ikev2lib/src/ikev2messagesendqueue.cpp Tue Jan 26 12:56:20 2010 +0200 @@ -164,7 +164,7 @@ DEBUG_LOG1(_L("CIkev2MessageSendQueue::NewSaBehindNatL: SaId=%d"), aSaId); __ASSERT_DEBUG(iSasBehindNat.Find(aSaId) == KErrNotFound, User::Invariant()); User::LeaveIfError(iSasBehindNat.Append(aSaId)); - if (!iSender->IsActive() && iNatKeepAliveInterval > 0) + if (!IsActive() && !iSender->IsActive() && iNatKeepAliveInterval > 0) { //No sending acticve arm the nat keepalive timer. ArmKeepaliveTimer(); @@ -221,6 +221,7 @@ void CIkev2MessageSendQueue::ArmKeepaliveTimer() { DEBUG_LOG(_L("CIkev2MessageSendQueue::ArmKeepaliveTimer")); + __ASSERT_DEBUG(!IsActive(), User::Invariant()); //Arm NAT keepalive timer. if (iNatKeepAliveInterval > KMaxTInt/1000000 ) {