Dinesh Chandimal admitted Sri Lanka allowed South Africa to take the upper hand in the first Test by gifting the Proteas some cheap wickets.
The tourists enjoyed a promising start to day two in Port Elizabeth, picking up the last four batsmen for 19 runs as South Africa reached 286 all out.
But any momentum was soon lost as Sri Lanka fell to 22-3 in reply, some loose strokeplay proving the downfall of their top order.
Dhananjaya de Silva's unbeaten 43 helped them to 181-7 at stumps but Chandimal, who made 28, accepted errors had been made.
"There was no specific plan to score fast," he said. "We know that we use Kusal Perera to score quickly, but unfortunately he got out early.
"This is a tough wicket to bat on. We did make some mistakes and gave them some easy wickets.
"We need to fight back tomorrow and get as close as we can to their score.
"Since Kusal is playing at number three, I am given the wicketkeeping duties. I can't bat that high because otherwise I'd be tired from keeping.
"We've given some opportunities to the young guys in our team, and they didn't take them today, but hopefully they will in the second innings.
"Dhananjaya is an opener, but we have a settled opening combination. He's also very good when it comes to batting with the tail. If he can get us a few more runs, it will give us some momentum."