Android GCM y múltiples tokens

Me registro en GCM con GoogleCloudMessaging.getInstance (contexto); y guardar el token recibido en el dispositivo. Luego envíelo al servidor y se asocia con la cuenta de usuario. Si desinstalo mi aplicación sin cerrar sesión, la instalo nuevamente e inicio sesión con otro usuario, recibo un nuevo token y lo envío al servidor. Y cuando se empuja el envío al primer usuario, los veo cuando inicié sesión con el segundo usuario.

¿Por qué GCM me envía diferentes tokens y cómo puedo manejar esto?