You may also have a bad ECT sensor (engine coolant temp). This sensor directly controls the elect. fan operation. I just had a prob with my 89 running hot in stop/go traffic, intersections etc. My elect. fan was only working sporadically, then finally not at all.
The sensor is cheap and takes about 5 minutes to replace. You'll find the sensor near the thermostat, just a short ways past it, closer to the back of the engine. You'll see a two wire plug coming out of it, and the sensor itself screws right into the engine similar to the way the temp sender does. I used a 1 inch deep well socket to remove it, though I suppose the correct size is the metric equivalent (didn't have a big, deep metric socket.) Be sure to use teflon tape on the threads of the sensor when you replace it to help prevent leaks.
Also, I found out that most parts stores have this sensor in stock, price is anywhere from $20-$30. I won't guarantee this is your problem, but it's a good start.