fall back to _PATH_BSHELL if pw_shell is empty
Sometimes nsswitch modules will return an empty pw_shell entry. this is somewhat common in ldap for instance.
When that happens accountsservice assumes the account is a system account, which it very well might not be.
the /bin/login command falls back to assuming
_PATH_BSHELL in that situation, perhaps accountsservice should as well.