Natural algorithms to compute rational expressions for recognizablelanguages, even those which work well in practice, may produce very longexpressions. So, aiming towards the computation of the commutative image of arecognizable language, one should avoid passing through an expressionproduced this way.We modify here one of those algorithms in order to compute directly a semilinear expression for the commutative imageof a recognizable language. We also give a secondmodification of the algorithm which allows the direct computation of theclosure in the profinite topology of the commutative image. As anapplication, we give a modification of an algorithm for computing the Abelian kernel of a finite monoid obtainedby the author in 1998 which is much more efficient in practice.