diff --git a/MagickCore/quantize.c b/MagickCore/quantize.c
index 2ba74ce..dd8b8b1 100644
--- a/MagickCore/quantize.c
+++ b/MagickCore/quantize.c
@@ -2337,14 +2337,14 @@
%
*/
-static inline ssize_t MagickRound(double x)
+static inline double MagickRound(double x)
{
/*
Round the fraction to nearest integer.
*/
- if (x >= 0.0)
- return((ssize_t) (x+0.5));
- return((ssize_t) (x-0.5));
+ if ((x-floor(x)) < (ceil(x)-x)
+ return(floor(x));
+ return(ceil(x));
}
MagickExport MagickBooleanType PosterizeImage(Image *image,const size_t levels,