A button fails because of a gap that is not there
Look at a fastened button from the side. The buttonhole band — a double layer of cloth — has to slide under the button. If the button was sewn tight against the fabric, there is no room for that layer, so every time you button up, the cloth levers the button away from the garment and the thread is ground between button and cloth. It saws itself apart. Two years of daily fastening is thousands of those cycles.
So the repair has one non-obvious move: deliberately leave a gap. Lay a toothpick across the button while you sew, finish, pull the toothpick out, then wrap the thread around the exposed strands to turn that gap into a solid stem. That stem is the shank, and it is the difference between a button that lasts a month and one that lasts the garment.
Three ways it fails, three different fixes
- Broken thread — the button is gone, or dangling. The cloth is fine. Re-sew it, this time with a shank and at least six passes. Factory machines do four, which is enough to survive the shop, not two years of wear.
- Torn cloth — the button is gone and left a small hole. Do not sew back into that hole. The thread will tear the same hole wider every time. Back it with a patch of matching cloth or a small backing button first, then sew through both.
- Wrong shank height — the button is on, but the garment will not close, or the button wobbles and catches on things. The gap is either zero or too tall. Shank height should match the thickness of the buttonhole band, not "as much as possible".
The habit that halves the frequency
Most button damage happens in the machine, not on the body. A shirt washed buttoned up puts the whole tumbling load through the buttons and buttonholes; a dryer then knocks hard buttons against a steel drum for forty minutes. Wash shirts unbuttoned, use a mesh bag for anything with metal or horn buttons, and air-dry rather than tumble. That costs nothing and is worth more than any technique.
And when a shirt is new, pinch every button once. Anything that shifts gets thirty seconds now instead of an emergency in a hotel room the morning of a meeting.