This seems to happen a lot when it gets really cold out. Started happening a few weeks ago. Sometimes if I notice the light starts to flicker on, at a stoplight I’ll open the door, push down the rubber button that triggers the light, and shut the door. It’ll usually stay off for a little bit.
I noticed that there’s a little dent on the door where it presses against the button, and I’m wondering if that’s a possible reason why this issue is happening.
It certainly looks like a sticky switch. Either disconnect it or have the door repaired and fix it at the time. A light left on will quickly drain your battery.
I would just get a new one for starters (or junkyard). Can’t cost that much. If you disconnect it, you’ll have to insulate the end of the wire so it doesn’t make contact with metal or sparks will fly. It is hot all the time. Also I’d make sure you can fish the wire out again if you need to. The other option is you can always swap the left and right one out if it is an intermittent issue, and the right is seldom used.
I think the dents are from the seat belt tab getting slammed in the door. With the area that contacts the switch dented a new switch may not solve the problem.
Straightening the door will be difficult. I would glue a thin rubber pad to the spot that contacts the switch or several layers of duct tape may work.