fix poor behavior when switching between form types