Reusing FBO but now getting inverted textures

My original drawing function created a fbo, textures, then attached the textures to the fbo then called glFinish then deleted the textures. This was for each object for each frame, and it worked great with no issues. Fortunately, there will not be too many drawings, but still performance is way too slow.

I tried to not create a fbo each time and reuse it. I only did a glBindFrameBuffer, then repeated the same steps as before. The results are that textures appear on the screen briefly, and when they do they are inverted. Instead of the
screen bottom the texture briefly appears at the screen top and upside down.

Any leads to try and fix this problem? I’ve googled and couldn’t find something definitive.

Thank you in advance for your help!