When zsh is set as a login shell on Mac OS X, when it is started by iTerm, zsh doesn\'t consider that it\'s being run as a login shell, although it\'s started as ‘-zsh’ (‘-’
Have you tried editing the shell entry in account settings.
Go to the Accounts preferences, unlock, and right-click on your user account for the Advanced Settings dialog. Your shell should be /bin/zsh, and you can edit that invocation appropriately (i.e. add the --login argument).