Former England opener Geoffrey Boycott says Alex Hales "has never had it in Test cricket" after the Nottinghamshire batsman made another low score.
Hales, 27, was out for 15 in the first innings of the final Test against South Africa and has made only 135 runs in his first seven knocks at Test level.
"He doesn't have the attitude for it. He hasn't got it," Boycott said.
"Even if he makes runs in the second innings, that's not enough. I need more consistency from my opening batsman."
Hales is the eighth opening batsman England have tried since the retirement of former skipper Andrew Strauss in 2012.
Yorkshire left-hander Adam Lyth was discarded after the Ashes last summer, the 28-year-old making 265 runs in seven matches at an average of 20, with a best of 107.
Moeen Ali was tried at the top of the order in the United Arab Emirates against Pakistan last year but averaged only 14 in three matches.
Hales, who made his maiden one-day international century in November and averages 25 from 24 matches in the 50-over game, has a first-class best of 236 but has made only one score of note in his short Test career, hitting 10 fours in his 60 in the second Test.
He struck three fours at Centurion on Saturday but was caught driving tamely at pace bowler Kagiso Rabada.
"Hales' was a shocking shot - caught at cover as an opening batsman. I'll repeat that: caught at cover as an opening batsman. It's not humorous," Boycott told BBC Test Match Special.
|Hales' Test dismissals|
|15: Fourth Test v SA, Centurion, caught backward point|
|18: Third Test v SA, Jo'burg, lbw sweeping spinner|
|1: Third Test v SA, Jo'burg, caught at slip|
|5: Second Test v SA, Cape Town, caught at slip|
|60: Second Test v SA, Cape Town, caught at slip|
|26: First Test v SA, Durban, caught long-on|
|10: First Test v SA, Durban, caught behind|
"The lad has never had it in Test cricket - he doesn't have the attitude for it. He hasn't got it. He's got wonderful hand-eye concentration but he's a one-day cricketer.
"You've got to set a platform. But Hales gets out in funny ways. His technique and footwork is not good enough for Test cricket. He may never get it. I've never been convinced."
In reply to South Africa's 475, England lost two early wickets, with number three Nick Compton lbw for 19 to a shooting low delivery that raised question marks about the state of the pitch with three days remaining.
Skipper Alastair Cook made his first half-century of the series, adding an unbroken 60 with Joe Root as England closed 337 behind in Centurion.
Three catches were missed by England on day two, in addition to the two they spilled on the opening day and all-rounder Ben Stokes admitted: "We'll look back on this game at the end and realise we let them off the hook massively.
"In Test cricket good players make you pay and they certainly have done in this innings."
Looking ahead, Stokes - the pick of the England bowlers with 4-86 - said: "Cooky's obviously struggled this tour so when he did get that 50 it was almost like he'd got a hundred because we were all so pleased for him.
"It's good to see him back on form and playing the way he has done over the years. Hopefully he can go on and make a big one for us."
- Catch up on the day's play with the Test Match Special podcast