fix it!
my 88 fj62 did the same thing. i was told it was a relay switch below the dash by one person, but that didn't fix it.
i made sure i had good vacuum on both sides of the 4wd solenoid located in the engine compartment on the firewall.
i then replaced the solenoids on the firewall which actuate the 4wd vacuum line and that fixed it.
i purchased a used solenoid from cruiserparts.net. (a new one from toyota, if available, was going to cost $400) this one cost around $125 i think. it was over a year ago and i haven't had any problems.
i was also told that it helps to "excercise" the switch some, kind of like AC systems; with a lack of use they get sticky.
also, if it's stuck in 4wd then you can manually get it out:
with switch in "off" position (light still on) and the vehicle in neutral (parking brake!) identify the solenoid on the firewall. pull one vacuum line and make sure there is good suction. apply vacuum to one side or the other (can't remember which is "on" and which is "off") and then check the light.
this was my solution until i replaced the solenoids.