Richard flew back to Chicago, drove home, took a nap, mowed his lawn and then found out the Cubs wanted him back in Pittsburgh.
"I'd always told them that if there was an opportunity to stay here, that's what I wanted to do," Richard said. "Fortunately, that came up, and I got to come back."
The Cubs acquired Richard from the Pirates on July 3, removed him from the active roster on July 22, called him up again on Sunday and designated him for assignment a day later.
He officially became a free agent and signed a new deal with the Cubs on Wednesday. So he's back. Again.
"I get it. I'm not upset," he said. "I'm happy for the opportunity, and I'll do whatever I can to stay."
Manager Joe Maddon plans to use Richard as a long reliever, but also as a left-handed specialist, particularly when the Cubs need to induce a ground ball.
"It's really good to have him back," Maddon said. "I'm really happy about it. I know he fits in very well here. He's very versatile."
Soriano's shoulder has been bothering him for a while, Maddon said, and it became too much to pitch through after Monday night's game, which wound up being postponed due to inclement weather.
"He really, truly doesn't believe it's awful, and I believe him. It's just not wise to have him push through that," Maddon said. "Let's quiet him down, give him that two weeks or whatever it's going to take -- hopefully, right around two weeks -- and then get him back."
Around the horn • First baseman Anthony Rizzo entered Wednesday night's series finale with 51 walks and 50 extra-base hits. He joins Mike Trout, Bryce Harper and Mark Teixeira as the only players in the Majors with at least 50 of each.
• The Cubs named Class A South Bend outfielder Jeffrey Baez and Class A Advanced Myrtle Beach right-hander Brad Markey their Minor League Player and Pitcher of the Month for July.
Baez, 21, hit .333/.347/.573 with six homers, 15 RBIs and nine steals in 24 games last month.
Markey, 23, went 3-0 with a 1.26 ERA, 21 strikeouts and three walks while holding opposing hitters to a .173 average in five games between South Bend and Myrtle Beach, and his 0.70 WHIP last month was tied for the lowest among all Class A pitchers.