The Bundesliga champions completed a 7-0 aggregate win at Camp Nou on Wednesday to move into the final of the Champions League.

Messi played a full game in the 4-0 loss in Germany but stayed on the bench in Barcelona, despite coming on to play just over 30 minutes in a 2-2 Liga draw against Athletic Bilbao on Saturday.

"Messi felt good against Athletic Bilbao, but in the final minutes of the game at San Mames he noticed a strange feeling," Vilanova said.

"He's not injured, but he felt he could pick up an injury.

"Yesterday he trained, and also today ... but he did not feel well. He's an explosive player and he could break. So, maybe he could not help the team."

Messi has scored 44 goals in La Liga this season and eight in the Champions League, and Vilanova decided against risking his star after losing the first leg 4-0.

Arjen Robben and Thomas Mueller netted either side of a Gerard Pique own goal to give Bayern a huge win, setting up an all-German final against Borussia Dortmund at Wembley on May 25.

Vilanova said Barcelona missed Messi and believes Bayern would also struggle without their best attackers, including Robben and Franck Ribery.

"Over the past years we always struggled winning games without Messi. He scores a lot of goals and he makes the difference in the final third," he said.

"He scores so many goals so it's completely normal to miss him when he's not in the pitch. We did win our most recent league games 5-0, 3-0 and 1-0 without him, but it's normal that we miss him when he's not around.

"It's the same with the other great teams. I'm sure Bayern wouldn't have performed like they did today without Robben or Ribery. It's obvious."

Vilanova is looking to assess what went wrong and said Barcelona were always looking to get better.

"We are always self-critical - mainly behind doors. We want to improve progressively and it's completely normal that we struggle," he said.

"We can't always win easily. We reached the semi-finals even though we didn't expect this result."