diff --git a/MagickCore/colorspace.c b/MagickCore/colorspace.c
index c8cbb69..ff0ee29 100644
--- a/MagickCore/colorspace.c
+++ b/MagickCore/colorspace.c
@@ -171,6 +171,9 @@
 static inline void ConvertXYZToLuv(const double X,const double Y,const double Z,
   double *L,double *u,double *v)
 {
+  double
+    alpha;
+
   assert(L != (double *) NULL);
   assert(u != (double *) NULL);
   assert(v != (double *) NULL);
@@ -178,8 +181,9 @@
     *L=(double) (116.0*pow(Y/D50Y,1/3.0)-16.0);
   else
     *L=CIEK*(Y/D50Y);
-  *u=13.0*(*L)*((4.0*X/(X+15.0*Y+3.0*Z))-(4.0*D50X/(D50X+15.0*D50Y+3.0*D50Z)));
-  *v=13.0*(*L)*((9.0*Y/(X+15.0*Y+3.0*Z))-(9.0*D50Y/(D50X+15.0*D50Y+3.0*D50Z)));
+  alpha=MagickEpsilonReciprocal(X+15.0*Y+3.0*Z);
+  *u=13.0*(*L)*((4.0*alpha*X)-(4.0*D50X/(D50X+15.0*D50Y+3.0*D50Z)));
+  *v=13.0*(*L)*((9.0*alpha*Y)-(9.0*D50Y/(D50X+15.0*D50Y+3.0*D50Z)));
   *L/=100.0;
   *u=(*u+134.0)/354.0;
   *v=(*v+140.0)/256.0;