Delaying a trigger?

Is there a way to delay OnTriggerEnter? I have a moving object who is supposed to wander around a city I made...It reaches a box trigger and goes to a random fixed direction. My problem is that since it changes its direction right after the enter, my object tends to miss the next box trigger and goes out of the terrain. I've tried using Invoke but it doesnt work...I cant use OnTriggerStay since it keeps changing directions every frame...

Edit: The script is attached to the node and not the moving object...

Java:

yield WaitForSeconds(PUTNUMBERHERE);

C:

yield return new WaitForSeconds(PUTNUMBERHERE);

http://unity3d.com/support/documentation/ScriptReference/WaitForSeconds.html

Couldn't you just make the box trigger smaller?