In your original code, the TakeJug and WalkToBank states have the exact same conditions; so being last, the WalkToBank state will never be used.
Also forgot to 'break;' in the Bank state. Adding a break is important to prevent fallthru to the WalkToBank state.
I'm not a fan of this pattern either, though. So I'd also recommend with something along the lines of what liverare suggested. But remember to still account for the scenario of being in neither of the areas