British actor Dominic Cooper was left mortified when he accidentally flashed his privates at customers while working as a waiter in a restaurant.

The Mamma Mia! star waited on tables at an eaterie to earn a living before finding fame but one shift took an embarrassing turn when the zip of his trousers broke and his manhood flopped out in front of stunned diners.

He tells U.K. talk show host Graham Norton, "I was working in a cafe wearing really tight jeans. I had two cappuccinos in one hand and pastries in the other and as I approached the table it fell out of my jeans and rested neatly on the table. There was nothing I could do. The customers were repulsed and I just backed off!"