TFT LCD 2.4" Arduino Shield MCUFriend

I am using the 2.4" TFT shield with Arduno Uno and getting a weird problem.

First off the screen works and it displays everything, touch works and loads stuff from SD card. Everything seems alright. But when i plug out the UNO and connect it back, screen stops at being white. The program seems to be running as Serial monitor keeps displaying its usual stuff when the code runs alright. Tried resetting the arduino, plugged it out, connected it back. Doesn't work. But when i swap the screen with another shield, it works. Plug UNO out and plug it back, white screen. Shift back to the first shield, same pattern follows.

I can see that there is an issue with the screen when the arduino is getting powered up but couldn't find a solution for it. Code and library seems fine. Tried to search this out but couldnt find to the best of my knowledge. How to resolve this?

Does that mean you unconnect the shield while the UNO is powered off and reconnect it (while the UNO is still not powered) and you get the white screen? In that case it's probably a mechanical problem where a pin doesn't get correct contact or anything similar.

By unplugging, i meant the USB being unplugged and plugged back. I made sure it is not a mechanical issue of the pins not being in contact. So first the display works as usual. Unplug the USB, and plug it back, and it doesn't.

Did you insulate the top of the USB connector before attaching the display? Otherwise it may short some pins on the shield.

A link to the hardware you're using may help as there are several versions of that shield out in the wild.