That's because something causes an INVALID_OPERATION (1282), most likely when creating the external texture. OpenGL stores errors until you ask for them. jPCT only asks for errors in some special situations, one is the creation of VBOs. So before creating one, it asks if everything is in a clean state. If you render the object before enabling the texture, the state is clean when creating the VBO for that object. If you enable the texture first, something causes that it isn't and you the exception. If you enable the gl debug mode, each and every command causes an error query, but it will be logged as a warning only. So in that case, you should see some warning in the log. Most likely directly after the first jPCT initiated gl command after the creation of the external texture.

So...it doesn't seem to like that texture bind. I think i know what this is...it tries to bind the former texture, but that fails because that former texture is the external one and it should use the proper gl target for that, which it doesn't. Not sure how to solve this ATM, i'll look into it.