Reflection Rotation matrix

I'm doing a rigid body between point clouds using SVD.
Sometimes the routine produces an incorrect rotation matrix with a Determinant=-1, ie a reflection matrix.

Any idea why ?
Is there a valid way of converting the result into a correct matrix?

It should be sufficient to update singular values in $\Sigma$.
The $\det(SVD)=-1$ case is discussed in more detail in 1987 paper of Arun, Huang and Blostein: "Least-squares fitting of two 3-D point sets".