diff --git a/MagickCore/effect.c b/MagickCore/effect.c
index 574982e..a24ed40 100644
--- a/MagickCore/effect.c
+++ b/MagickCore/effect.c
@@ -1439,9 +1439,6 @@
     *image_view[4],
     *kuwahara_view;
 
-  double
-    radius;
-
   Image
     *gaussian_image,
     *kuwahara_image;
@@ -1455,6 +1452,9 @@
   register ssize_t
     i;
 
+  size_t
+    radius;
+
   ssize_t
     y;
 
@@ -1467,8 +1467,8 @@
     (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
   assert(exception != (ExceptionInfo *) NULL);
   assert(exception->signature == MagickSignature);
-  radius=(double) (width-1.0)/2.0;
-  gaussian_image=BlurImage(image,radius,sigma,exception);
+  radius=(size_t) width/2;
+  gaussian_image=BlurImage(image,(double) radius,sigma,exception);
   if (gaussian_image == (Image *) NULL)
     return((Image *) NULL);
   kuwahara_image=CloneImage(image,image->columns,image->rows,MagickTrue,
@@ -1530,26 +1530,26 @@
 
       for (i=0; i < 4; i++)
       {
-        quadrant[i].width=(size_t) radius;
-        quadrant[i].height=(size_t) radius;
+        quadrant[i].width=radius;
+        quadrant[i].height=radius;
         quadrant[i].x=x;
         quadrant[i].y=y;
         switch (i)
         {
           case 0:
           {
-            quadrant[i].x=x-(ssize_t) (radius-1.0);
-            quadrant[i].y=y-(ssize_t) (radius-1.0);
+            quadrant[i].x=x-(ssize_t) (radius-1);
+            quadrant[i].y=y-(ssize_t) (radius-1);
             break;
           }
           case 1:
           {
-            quadrant[i].y=y-(ssize_t) (radius-1.0);
+            quadrant[i].y=y-(ssize_t) (radius-1);
             break;
           }
           case 2:
           {
-            quadrant[i].x=x-(ssize_t) (radius-1.0);
+            quadrant[i].x=x-(ssize_t) (radius-1);
             break;
           }
           case 3:
