We prove that, if A is a (possibly non-unital) non-commutative JB*-algebra, and if pi : A -> A is a positive contractive linear projection, then pi(A), endowed with the product (x, y) -> pi(xy), becomes naturally a non-commutative JB*-algebra, and moreover the equality ($) pi(pi(a) . pi(b)) = pi(a . pi(b)) holds for all a, b is an element of A. The appropriate variant of this result, with 'JD-algebra' instead of 'non-commutative JB*-algebra', is also obtained. In the non-commutative JB*-case, the requirement of positiveness for pi can be relaxed to the one that the equality ($) holds. In general, this relaxing is strict, but it is not strict if pi is bicontractive. Actually, positive bicontractive linear projections on non-commutative JB*-algebras are fully described, and a structure theorem for bicontractive linear projections (without any extra requirement) on noncommutative JBW*-algebras is proved. Finally, bicontractive linear projections on C*-algebras are studied in detail. (C) 2020 Elsevier Inc. All rights reserved.