FF 13, IE 9: JSON stringify / objeto de geolocalização

Estou tentando fazer o Firefox 13 transformar um objeto de posição de geolocalização em uma string JSON, mas ele está retornando uma string vazia em vez da representação de string correta do objeto JSON. Isso está funcionando bem nas versões mais recentes do Chrome e do Safari, bem como no navegador do Android. Aqui está meu código:

if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition( 
        function (position) {  
            //Success handler
            console.log(position); //This outputs the position object to the console
            var gps = JSON.stringify(position); 
            console.log(gps); //This outputs an empty string!
        }, 
        function (error)
        {   
            //Handle error
        },
        { maximumAge: 3000, timeout: 60000, enableHighAccuracy: true }
        );
}
else {
    //Handle error
}

No Chrome, isso gera um objeto de geolocalização e essa string:

"{"coords":{"latitude":XYZ,"heading":null,"accuracy":40,"altitudeAccuracy":null,"altitude":null,"longitude":XYZ,"speed":null},"timestamp":1339712284200}"

No entanto, no Firefox 13, a saída é apenas uma string vazia, embora o objeto de geolocalização impresso no console seja, para todos os efeitos, igual ao objeto exibido pelo Chrome. Alguma idéia do que está errado aqui?este parece ser uma questão relacionada, mas também não vejo uma solução. O IE9 exibe o mesmo comportamento, a propósito.

questionAnswers(2)

yourAnswerToTheQuestion