Gerard Butler gave US Marines private screening of new film

The 43-year-old actor plays presidential guard Mike Branning in the new action film, which sees the White House explode after being targeted by terrorists, and Gerard was so worried of what the armed forces would think of the dramatic scenes that he went to visit them personally to get their opinion on the finished piece.

He explained to The Guardian newspaper: "Yes it's America but it's America going wrong. It's saying this is the day we failed. The President gets show or Oklahoma happens.

"S*** happens. It's not just that somebody sprains their ankle. Things go wrong. Badly. And we wanted to examine a day where it really went wrong.

"[I worried the armed forces would hate it] because, at the end of the day, they're pretty much all killed [in the film] but I went to Camp Pendleton, the main Marine base, and screened it to the Marines and they loved it."