Ho un problema sul calcolo del numero di utenti connessi.

Ho questo codice:

GLOBAL.ASA

<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Application_OnStart
Application("ActiveUsers") = 0
End Sub

Sub Session_OnStart
' setta il timeout di default 10
Session.Timeout = 10
Application.Lock
Application("ActiveUsers") = Application("ActiveUsers") + 1
Application.UnLock
End Sub

Sub Session_OnEnd
' quando il visitatore esce (-1)
Application.Lock
Application("ActiveUsers") = Application("ActiveUsers") - 1
Application.UnLock
End Sub
</SCRIPT>


e nella pagina:

<%= Application("ActiveUsers") %>



Il totale degli utenti connessi mi sbaglia perché mi incrementa sempre il numero e non dimminuisce mai.
Sapete per caso dove sbaglio?