The 74 year old, who starred in two 007 movies - The World Is Not Enough and Die Another Day - tells Britain's Radio Times that Bond bosses wanted the films to be grittier.
He says, "I did two James Bond movies and then I believe that they decided that the tone they needed was that of the Bourne action movies, which are very gritty and humourless.
"Also the big money was coming from Asia, from the Philippines, Vietnam, Indonesia, where the audiences go to watch the action sequences, and that's why, in my opinion, the action sequences go on for too long, and it's a fundamental flaw.
"The audiences in Asia are not going for the subtle British humour or the class jokes."
Cleese's character did not appear in the Daniel Craig Bond films Casino Royale and Quantum Of Solace, but Q returned in 2012's Skyfall. He was portrayed by Ben Whishaw.