Admitted drug cheat Melky Cabrera has been slapped with a 50-game suspension for violating Major League Baseball's drug policy.
Major League Baseball's commissioners office announced Wednesday that the San Francisco Giants outfielder, who was MVP of the all-star game, has tested positive for testosterone.
The Dominican native Cabrera is having his best season in the majors with a .346 batting average, 11 homers and 60 runs batted in.
Cabrera admitted using performance-enhancing drugs and said he would not appeal the suspension.
"My positive test was the result of my use of a substance I should not have used," Cabrera said.
"I accept my suspension under the Joint Drug Program and I will try to move on with my life."
The Giants signed Cabrera to a one-year deal in January after he was acquired from Kansas City in a trade.
Cabrera was a career .275 hitter in seven pro seasons with the Yankees, Braves and Royals entering this year.
On the field, Felix Hernandez pitched the 23rd perfect game in baseball history last night, helping the Seattle Mariners sink the Tampa Bay Rays 1-0.
The Mariners' first ace was the third of the Major League season - they were on the receiving end of Chicago White Sox's Philip Humber in April, while San Francisco's Matt Cain achieved the feat against Houston in June.
Hernandez struck out the Rays twice and finished with 12 strikeouts in a 1-0 success.
Miami's shutout streak reached 30 frames before Greg Dobbs' RBI off Roy Halladay in the fourth of the Marlins 9-2 win over the Philadelphia Phillies.
Miguel Cabrera hit his 30th homer of the season in the first inning of the Detroit Tigers' 5-1 win over the Minnesota Twins, while the Chicago Cubs beat the Houston Astros 7-2.
A five-run fifth proved in vain for the Milwaukee Brewers, who went down 7-6 to the Colorado Rockies.
The Washington Nationals saw off the San Francisco Giants 6-4, while the Cincinnati Reds won their fifth successive match - 6-1 against the New York Mets.
Atlanta's Paul Maholm held San Diego to one run on five hits, with seven strikeouts in seven innings, as the Braves beat the Padres 6-1.
Matt Kemp drove in three runs as seven different LA Dodgers notched an RBI in the 7-3 win over the Pittsburgh Pirates.
Adam Dunn hit his 34th home run, while Dayan Viciedo and DeWayne Wise also connected as the Chicago White Sox beat the Toronto Blue Jays 9-5.
In the night's last match to finish, the LA Angels did the hard work early on against the Cleveland Indians, with a 7-0 fourth-inning lead setting up an eventual 8-4 success.
The New York Yankees v Texas Rangers game was delayed for an hour and 45 minutes because of rain - and when it did start the Yankees went down for the third successive night, 3-2.
Elsewhere, the St Louis Cardinals beat the Arizona Diamondbacks 5-2, the Kansas City Royals edged the Oakland Athletics 3-2, while the Baltimore Orioles sunk the Boston Red Sox 5-3.