West Australian Test allrounder Mitch Marsh regained his batting mojo with a century in a bold Sheffield Shield rescue mission against Queensland on Sunday.
Marsh was dropped on 41 but remained unbeaten on 100 to steer the Warriors to 5-236 at lunch on day three at Allan Border Field.
But more heroics will be needed from the WA captain, with the visitors still trailing the Bulls' first innings by 212 runs.
William Bosisto was not out 38 in an unbroken 80-run sixth wicket stand with the new Test vice-captain, whose timely ton was his 10th first class century and featured 14 fours and two sixes.
The 27-year-old now has the attention of national selectors before Australia's Test series against India begins next month after a frustrating run of form in the recent Test series against Pakistan in the UAE.
Marsh made just 30 runs at 7.50 before he was overlooked for the ODI series against South Africa, who walloped the home team in the opening match in Perth on Sunday .
Jimmy Peirson (82 not out) and Michael Neser (56) were both dropped off Marsh's bowling in a 115-run seventh wicket stand on Saturday before the Bulls declared their first innings at 9-448.
Marsh finally enjoyed a change of luck with the bat, surviving a chance to share a 112-run fourth-wicket stand with Ashton Turner (48) and going on to notch his timely ton.
Bulls leggie Mitch Swepson said the all-rounder was back to his best and stood in the way of last-placed Queensland's push for its first victory of the Shield season.
"He's obviously a quality batsman and showed it again here by grinding out a good 64," Swepson said.
"It's good fun bowling to him. It's always good to bowl at the best players in the country and he is one of them at the moment, but I love a challenge.
"Hopefully we can pick up his scalp early in the morning and get into the tail."