Problema ao pegar a hora no Windows vista

Olá pessoal,

Alguém saberia me dizer se tem algum metodo diferente para pegar a hora no windows vista. Eu fiz da seguinte maneira:

Calendar cal = new GregorianCalendar();
int hora = cal.get(Calendar.HOUR_OF_DAY); // pega a hora

Para o windows XP e linux este metodo funciona normalmente, já no windows vista ele me retorna 3 horas a mais. Por exemplo, se o horário do computador com o vista está 09:50, o método cal.get(Calendar.HOUR_OF_DAY) me retorna ‘12’, ja no xp e no linux retorna ‘9’.
Já conferi as configurações regionais, fuso horário, etc, mas aparentemente está tudo OK. Alguém poderia me ajudar?

[]´s
Aislan