diff --git a/MagickCore/quantize.c b/MagickCore/quantize.c
index 290e003..548d952 100644
--- a/MagickCore/quantize.c
+++ b/MagickCore/quantize.c
@@ -1532,7 +1532,6 @@
         status=MagickFalse;
         continue;
       }
-    q+=(y & 0x01)*GetPixelChannels(image)*image->columns;
     cube=(*cube_info);
     current=pixels[id]+(y & 0x01)*image->columns;
     previous=pixels[id]+((y+1) & 0x01)*image->columns;
@@ -1549,9 +1548,8 @@
       ssize_t
         u;
 
-      q-=(y & 0x01)*GetPixelChannels(image);
       u=(y & 0x01) != 0 ? (ssize_t) image->columns-1-x : x;
-      AssociateAlphaPixel(image,&cube,q,&pixel);
+      AssociateAlphaPixel(image,&cube,q+u*GetPixelChannels(image),&pixel);
       if (x > 0)
         {
           pixel.red+=7*current[u-v].red/16;
@@ -1623,14 +1621,18 @@
       */
       index=(size_t) cube.cache[i];
       if (image->storage_class == PseudoClass)
-        SetPixelIndex(image,(Quantum) index,q);
+        SetPixelIndex(image,(Quantum) index,q+u*GetPixelChannels(image));
       if (cube.quantize_info->measure_error == MagickFalse)
         {
-          SetPixelRed(image,ClampToQuantum(image->colormap[index].red),q);
-          SetPixelGreen(image,ClampToQuantum(image->colormap[index].green),q);
-          SetPixelBlue(image,ClampToQuantum(image->colormap[index].blue),q);
+          SetPixelRed(image,ClampToQuantum(image->colormap[index].red),
+            q+u*GetPixelChannels(image));
+          SetPixelGreen(image,ClampToQuantum(image->colormap[index].green),
+            q+u*GetPixelChannels(image));
+          SetPixelBlue(image,ClampToQuantum(image->colormap[index].blue),
+            q+u*GetPixelChannels(image));
           if (cube.associate_alpha != MagickFalse)
-            SetPixelAlpha(image,ClampToQuantum(image->colormap[index].alpha),q);
+            SetPixelAlpha(image,ClampToQuantum(image->colormap[index].alpha),
+              q+u*GetPixelChannels(image));
         }
       if (SyncCacheViewAuthenticPixels(image_view,exception) == MagickFalse)
         status=MagickFalse;
@@ -1653,7 +1655,6 @@
           if (proceed == MagickFalse)
             status=MagickFalse;
         }
-      q+=((y+1) & 0x01)*GetPixelChannels(image);
     }
   }
   image_view=DestroyCacheView(image_view);