Sir Roger Moore has hailed Daniel Craig as the "best actor" to have played James Bond.
The 84-year-old, who portrayed 007 from 1973 to 1985, caused controversy last year by branding Craig's Quantum of Solace "a long, disjointed commercial".
However, Moore says he is a huge fan of the Layer Cake star.
"I loved Casino Royale and Daniel Craig," he writes in his new book Bond on Bond.
"He is a wonderful actor, certainly the best actor to play Bond. (He has) the best build of any Bond."
Moore also admits he is looking forward to the upcoming 23rd instalment of the superspy franchise, adding: "I believe that Skyfall is going to have a lot more humour in it than Quantum of Solace did, something I'll be pleased to see."
Sean Connery, Australian actor George Lazenby, Timothy Dalton and Pierce Brosnan have also played 007 in the films since the first movie, Dr No, in 1962.