Marco Materazzi has said Zlatan Ibrahimovic must stop blaming team-mates during difficult times if he wants to be recognised as one of the game's true greats.
Materazzi, 39, played alongside Ibrahimovic at Inter Milan between 2006 and 2009 and described him as "one of the best five players in the world".
He told France Football: "When he arrived at Inter, our relationship was good, but it changed afterwards.
"That he's a phenomenon, one of the five best players in the world, of that there's no doubt. He's one of the best players I've ever played with. But you're really great when you sacrifice yourself to the team. It's never his fault. In that, I see a weak point in his character."
Since his summer arrival at Paris Saint-Germain, Ibrahimovic's new team-mates at the Parc des Princes have seen both his talent and his temperamental nature.
The Swede's 19 goals have made him Ligue 1's top scorer and helped PSG to the top of the table, but they have been accompanied by frequent on-pitch remonstrations and signs of frustration at team-mates' shortcomings.
Reports in the French media claimed Ibrahimovic told Carlo Ancelotti's expensively-assembled squad that his two young sons were better footballers than them at half-time of the home game against Troyes.
"If you behave like that, you have to ask yourself questions, ask yourself why you don't win the Ballon d'Or," Materazzi added. "If a team-mate is in difficulty, you have to help him, not shoot him down."
Materazzi is no stranger to controversy and also took aim at Zinedine Zidane, the man sent off for headbutting him in response to an insult during the 2006 World Cup final.
The former France international has always denied shaking Materazzi's hand when the pair's paths at a Milan hotel in November 2010 - something 'Matrix' finds difficult to understand.
"Zidane missed an opportunity to look good, because everyone would have said, 'Zidane is such a gentleman because he shook the hand of that s***,' he said."