Sessão expira no momento errado

Pessoal, tenho o seguinte EAR em um ambiente:

appA.war
appB.war
Apenas um SessionListener utilizado pelo os dois wars

Para acessar as duas apps, é necessário ter um usuário registrado em uma session.

Existe a implementação do método SessionDestroyed na SessionListener para verificar quando a sessão é expirada.

Meu problema:

Equanto eu navego pela appA.war o SessionDestroyed nunca é chamado, agora se eu navego pelo APENAS appB.war e deixo de navegar pela appA.war o método é chamado.

Eu gostaria que a sessão só expira-se quando eu para-se de navegar pelo sistema.

Alguem IMAGINA oque pode haver de errado?