Here is a proof as taken from this paper: Kaplansky, Irving Products of normal operators. Duke Math. J. 20, (1953). 257-260. This paper is also contained in 'Selected Papers and Other Writings of Irving Kaplansky'. It is supposed to be proven originally by Wiegmann, but I do not have access to this paper.
Theorem 1: Assume $A$ and $AB$ are normal. If $B$ commutes with $A^*A$ then $BA$ is normal.
Proof: Take the polar decomposition of $A$, $A=UP$, $U$ unitary, $P=P^*$. Since $A$ is normal it follows
$$
AA^* = UPP^*U^* = A^*A = P^*P,
$$
hence $UP^2 = P^2U$, which implies that $U$ and $P$ commute.
As $B$ commutes with $A^*A$ it also commutes with $P=(A^*A)^{1/2}$.
This implies
$$
U^*ABU = U^*UPBU = PBU = BPU = BA,
$$
hence $BA$ is unitary equivalent to a normal matrix, and thus is normal itself.
Theorem 2: Assume $A$, $B$, $AB$ normal. Then $B$ commutes with $A^*A$.
Proof: Set $C:=BA^*A-A^*AB= [B,A^*A]$ where $[C,D]=CD-DC$ denotes the commutator of two matrices $C$ and $D$.
Then
$$
C^*C=(A^*AB^*-B^*A^*A)(BA^*A-A^*AB) = A^*AB^*BA^*A - A^*AB^*A^*AB
-B^*A^*ABA^*A +B^*A^*AA^*AB.
$$
Now, by normality of $AB$ and $A$ we obtain
$$
B^*A^*AA^*AB- A^*AB^*A^*AB = (B^*A^*)(AA^*AB)- (A^*AAB)(B^*A^*)= [B^*A^*,AA^*AB].
$$
Since
$$
A^*AB^*BA^*A-B^*A^*ABA^*A = A^*AB^*BA^*A-ABB^*A^*A^*A= (A^*)(AB^*BA^*A)-(AB^*BA^*A)(A^*) = [A^*,AB^*BA^*A].
$$
This proves
$$
C^*C = [B^*A^*,AA^*AB] + [A^*,AB^*BA^*A].
$$
Since the trace of commutators is zero due to $tr(CD)=tr(DC)$, it follows
$tr(C^*C)=0$, hence $C=0$, and $B$ commutes with $A^*A$.
Theorem 1 + 2 now prove the claim.