This sounds like Spanning Tree sorting itself out again. All you can really do under STP is minimize the timers.
To minimize Max Age (MA) and Forwarding Delay (FD), adjust your Hello Time (HT) down to 1 second and figure out what your L2 Network Diameter (ND) is, per VLAN. Then, plug these values into the formulas in this post, rounding up if appropriate, and calculate optimum MA and FD for each VLAN.
http://forum.cisco.com/eforum/servlet/NetProf?page=netprof&CommCmd=MB%3Fcmd%3Ddisplay_location%26location%3D.ee9e70c
HT, MA, and FD can be set on every Cisco switch. (ND only on some, for example Cat6500.) Settings are only effective if done on root bridge or switch; and if done, must be recalculated when you add or remove switches from the network, changing the ND.
Hope this helps.