Die Hard is, quite honestly, a near-perfect action movie.
It has a believable protagonist and antagonist - a New York cop in the wrong place at the wrong time and a European arch-robber posing as a terrorist - and it's also got some of the best setpieces put together in an action movie.
However, there are some plotholes that have either been explained away or glossed over from years of adoration. One such plothole is just how exactly John McClane knew it was Hans Gruber when he was putting on an American accent, and then knew to give him a gun without any bullets.
Our reading was that simply McClane clocked the bad accent, had an instinct and then handed him an empty gun to cover himself. As we know, Gruber then reveals himself, tries to shoot McClane and then on the film goes.
As it turns out, that's not actually the case. According to Steven E. DeSouza, one of the screenwriters of Die Hard, the explanation for McClane realising Gruber was faking it is down to a number of deleted scenes.
Simply put, there was supposed to be a scene at the start of the film where each and every one of the terrorists all had the same watch - a Tag Heur watch - which they all synchronised. Each time McClane killed a terrorist, he noticed that they had the same watch. For example, when he kills Tony - that's the first terrorist with the glasses who has the bag of detonators - he almost steals his watch because it looks so good.
As DeSouza tells it, "(he) steals the cigarettes which is a laugh. He looks at the watch which gets another laugh because you’re thinking he might steal the watch. As he kills each guy, he notices they all had the same watch. When he talks to Dwayne Robinson, he says, ‘I think these guys are professionals. Their IDs are too good. There’s no labels on their clothes and they all have the same watch.’... When Bruce offers the cigarette to Alan Rickman, Bruce sees the watch. You see his eyes look at the watch. That’s how he knows that he is one of the terrorists.”
The reason for these scenes being cut out of the film was to hide another continuity mistake involving the ambulance that was supposed to be used as the escape route for the terrorists, but John McTiernan cut out both that scene and all subsequent scenes involving the watch to hide the mistake.
To be honest, it makes sense both ways. We always thought it was McClane just being a crafty bastard and knowing that there was something up with Gruber from the very first time they met. Even when he compliments his accent, it almost felt sarcastic - as if he knew it was him and wanted to see what he'd do.
In any case, there's the official reason.