Il codice che ho postato funziona perfettamente. La logica suggerisce che il tuo codice sia sbagliato, qualunque esso sia.