ho un grosso problema nel session start del global.asax mi salvo l'http_referer. In più del 50% dei casi però l'http_referer è vuoto! Come è possibile?

codice:
    Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
        Session("HTTP_REFERER") = Request.ServerVariables("HTTP_REFERER")
        If Session("HTTP_REFERER") = "" Then
            Session("HTTP_REFERER") = "-"
        End If
        'scrivo il referer di ogni nuovo utente
        Try
            Dim s As String = ""
            s = Request.ServerVariables("REMOTE_ADDR") & vbTab & Session("HTTP_REFERER") & vbTab & Request.Browser.Browser
            Dim sw As New IO.StreamWriter(ConfigurationSettings.AppSettings("PathLog") & "referer.txt", True)
            sw.WriteLine(s)
            sw.Close()
            sw.Flush()
        Catch ex As Exception
        End Try
    End Sub
grazie!