Abstract. The aim of this paper is to show that if S and T are commuting B-Fredholm operators acting on a Banach space X, then ST is a B-Fredholm operator and ind(ST ) = ind(S) + ind(T ), where ind means the index. Moreover if T is a B-Fredholm operator and F is a finite rank operator, then T + F is a B-Fredholm operator and ind(T + F ) = ind(T ). We also show that if 0 is isolated in the spectrum of T , then T is a B-Fredholm operator of index 0 if and only if T is Drazin invertible. In the case of a normal bounded linear operator T acting on a Hilbert space H, we obtain a generalization of a classical Weyl theorem.