The sort answer:
The long answer/investigation: Are you logged in directly to the machine? The shell will update these settings if it receives the SIGWINCH, which should be sent to the shell when the terminal in which it runs is resized.
If you are logging in remotely to another machine, especially if you are using some sort of login automation system this can be lost somehow. I once wrote a login automation tool using expect and I had to explicitly tell it to pass on SIGWINCH in some cases.