"The mechanics are getting little more consistent, but I'm still not there, " he said after allowing two runs and three hits in 4 1/3 innings as Florida lost 9-7 to the Washington Nationals on Sunday.
Johnson, who won 15 games last year, struck out four but he also walked two and gave up two extra-base hits, including a double to Chris Duncan after he allowed a two-out walk to Ian Desmond in the first inning.
Johnson, who signed a four-year, $39 million contract over the winter, left the game after walking Nationals pitcher John Lannan with one out in the fifth inning on his 80th pitch.
"His pitch count got a little high. We didn't want to run him past 80. But he was OK, "manager Fredi Gonzalez said. "The only bleep on the radar was that walk in the first inning with two outs and the double right behind that. "
Over his last two starts, Johnson has allowed six runs in 7 1/3 innings. He has a 5.84 ERA in four spring starts.
"I'm definitely going to need these last starts. It will be good for me in the (side sessions) but I'm not quite there yet, " he said.
Johnson will start Florida's season opener April 5 in New York against the Mets. But his next two spring starts line up against the Mets, so there's a chance the Marlins will bump him from at least one of those games in the next two weeks.
"We'll maybe give him one more start and then put him in a minor league game, " Gonzalez said.
Lannan, Washington's probable opening day starter, allowed one earned run in five innings. He has a 2.45 ERA in three starts.
Adam Kennedy hit a three-run double off Penn with two outs in the sixth. Penn, who is out of options, is trying to win a bullpen spot. He has a 6.30 ERA in four games.
Mike Lamb, who's trying to win a bench spot for the Marlins, hit a three-run double with two outs in the sixth to give Florida a 7-6 lead.
But former Nationals closer Mike MacDougal gave up three runs in 2/3 of an inning, the big blow coming on Alberto Gonzalez's two-run single in the seventh. MacDougal trying to win Florida's final bullpen spot but has a 9.64 ERA in five appearances.
The Marlins cut infielder Jorge Jimenez, a Rule 5 draft pick who came to Florida from Houston to complete the Matt Lindstrom trade in December. The Marlins offered Jimenez back to Boston, which lost Jimenez to the Astros in the Rule 5 draft. Nationals outfielder Nyjer Morgan (tight hamstring) isn't expected to play until Thursday.