Avoid crash if canvas has already been removed
Add a state needs_password