Here, this does the trick:
Code:
if [ `ps o pid,args|grep -ce '^ *'$$' *-bash\( .*\)\?$'` -gt 0 ]; then
echo login shell
fi
Adding this to .bashrc, now I can switch to zsh except when I want to run bash specifically.
There is still a problem, because many terminal emulators start with login shell. That I don't know how to handle, except by disabling this "feature".
And thanks a lot Dinithion!