Dynamic texture problem

I've been working on a simple OpenGL game under Linux (TNT2) for about three months now, when I get time. I use a transparent texture-mapped cone for thrust on my ships. The texture map is algorithmically generated, and replaced once per frame when it is on with glTexSubImage. Unfortunately, this texture SOMETIMES appears garbled. I will see if inserting HTML works here, to show you the pictures. If not I hope the tag will at least appear as text. Here is the way it looks when garbled:
And here is how it should look:

Does anyone know why this might happen? I wanted to ask here before I rip the code up, since I've tried a lot of things with no definitive answer. It is affected by the dimensions I make the texture map, whether the ship's shield is on or not (that's the variable in the pictures), which ship is drawn first, etc. I have tried pushing and popping all lighting attributes, but that didn't seem to help. Any ideas would be greatly appreciated