No you don't, there are 2 ways. I got mine while on an visa exemption.
I had a marriage visa but BOI wanted a non B, then i left the country to cancel my marriage visa and ask for an visa exemption. Got the non B visa in country, which was changed to an extension of stay.