diff --git a/coders/bmp.c b/coders/bmp.c
index 60b7f80..3ba48b1 100644
--- a/coders/bmp.c
+++ b/coders/bmp.c
@@ -1654,7 +1654,7 @@
           for (x=0; x < (ssize_t) image->columns; x++)
           {
             byte<<=1;
-            byte|=indexes[x] != 0 ? 0x01 : 0x00;
+            byte|=GetIndexPixelComponent(indexes+x) != 0 ? 0x01 : 0x00;
             bit++;
             if (bit == 8)
               {
@@ -1701,7 +1701,7 @@
           for (x=0; x < (ssize_t) image->columns; x++)
           {
             byte<<=4;
-            byte|=((size_t) indexes[x] & 0x0f);
+            byte|=((size_t) GetIndexPixelComponent(indexes+x) & 0x0f);
             nibble++;
             if (nibble == 2)
               {
diff --git a/coders/braille.c b/coders/braille.c
index 45a66e6..91afa1e 100644
--- a/coders/braille.c
+++ b/coders/braille.c
@@ -274,9 +274,9 @@
       {
 #define do_cell(dx,dy,bit) do { \
         if (image->storage_class == PseudoClass) \
-          cell |= (indexes[x+dx+dy*image->columns] == polarity) << bit; \
+          cell |= (GetIndexPixelComponent(indexes+x+dx+dy*image->columns) == polarity) << bit; \
         else \
-          cell |= (p[x+dx+dy*image->columns].green == 0) << bit; \
+          cell |= (GetGreenPixelComponent(p+x+dx+dy*image->columns) == 0) << bit; \
 } while (0) 
 
         do_cell(0,0,0);
diff --git a/coders/cmyk.c b/coders/cmyk.c
index c5a55b4..50ad3bd 100644
--- a/coders/cmyk.c
+++ b/coders/cmyk.c
@@ -257,7 +257,8 @@
                 SetRedPixelComponent(q,GetRedPixelComponent(p));
                 SetGreenPixelComponent(q,GetGreenPixelComponent(p));
                 SetBluePixelComponent(q,GetBluePixelComponent(p));
-                indexes[x]=canvas_indexes[image->extract_info.x+x];
+                SetBlackPixelComponent(indexes+x,GetBlackPixelComponent(
+                  canvas_indexes+image->extract_info.x+x));
                 SetOpacityPixelComponent(q,OpaqueOpacity);
                 if (image->matte != MagickFalse)
                   SetOpacityPixelComponent(q,GetOpacityPixelComponent(p));
diff --git a/coders/cut.c b/coders/cut.c
index 26c569c..6bbc56f 100644
--- a/coders/cut.c
+++ b/coders/cut.c
@@ -245,8 +245,8 @@
     q=GetAuthenticPixels(image,0,y,image->columns,1,exception);
     for (x=0; x < (ssize_t) image->columns; x++)
     {
-      if (intensity < q->red)
-        intensity=q->red;
+      if (intensity < GetRedPixelComponent(q))
+        intensity=GetRedPixelComponent(q);
       if (intensity >= scale_intensity)
         return(255);
       q++;
@@ -566,13 +566,14 @@
                   if(image->colormap[i].blue!=sample) goto Finish;
                 }
 
-              image->colormap[1].red=image->colormap[1].green=image->colormap[1].blue=(Quantum) QuantumRange;
+              image->colormap[1].red=image->colormap[1].green=
+                image->colormap[1].blue=(Quantum) QuantumRange;
               for (i=0; i < (ssize_t)image->rows; i++)
                 {
                   q=QueueAuthenticPixels(image,0,i,image->columns,1,exception);
                   for (j=0; j < (ssize_t)image->columns; j++)
                     {
-                      if (q->red==ScaleCharToQuantum(1))
+                      if (GetRedPixelComponent(q) == ScaleCharToQuantum(1))
                         {
                           SetRedPixelComponent(q,QuantumRange);
                           SetGreenPixelComponent(q,QuantumRange);
diff --git a/coders/dcm.c b/coders/dcm.c
index b4654db..9efaf9b 100644
--- a/coders/dcm.c
+++ b/coders/dcm.c
@@ -4040,11 +4040,11 @@
                       pixel.blue=scale[pixel.blue];
                     }
                 }
-              SetRedPixelComponent(q,(((size_t) q->red) |
+              SetRedPixelComponent(q,(((size_t) GetRedPixelComponent(q)) |
                 (((size_t) pixel.red) << 8)));
-              SetGreenPixelComponent(q,(((size_t) q->green) |
+              SetGreenPixelComponent(q,(((size_t) GetGreenPixelComponent(q)) |
                 (((size_t) pixel.green) << 8)));
-              SetBluePixelComponent(q,(((size_t) q->green) |
+              SetBluePixelComponent(q,(((size_t) GetBluePixelComponent(q)) |
                 (((size_t) pixel.blue) << 8)));
               q++;
             }
diff --git a/coders/gif.c b/coders/gif.c
index 3742902..b820443 100644
--- a/coders/gif.c
+++ b/coders/gif.c
@@ -676,7 +676,7 @@
       /*
         Probe hash table.
       */
-      index=(IndexPacket) ((size_t) indexes[x] & 0xff);
+      index=(IndexPacket) ((size_t) GetIndexPixelComponent(indexes+x) & 0xff);
       p++;
       k=(ssize_t) (((size_t) index << (MaxGIFBits-8))+waiting_code);
       if (k >= MaxHashTable)
diff --git a/coders/mat.c b/coders/mat.c
index 97309c6..21002ad 100644
--- a/coders/mat.c
+++ b/coders/mat.c
@@ -424,9 +424,9 @@
      /* Please note that negative values will overflow
         Q=8; QuantumRange=255: <0;127> + 127+1 = <128; 255> 
            <-1;-128> + 127+1 = <0; 127> */
-    q->red += QuantumRange/2 + 1;
-    q->green += QuantumRange/ + 1;
-    q->blue += QuantumRange/ + 1;
+    SetRedPixelComponent(q,GetRedPixelComponent(q)+QuantumRange/2+1);
+    SetGreenPixelComponent(q,GetGreenPixelComponent(q)+QuantumRange/2+1);
+    SetBluePixelComponent(q,GetBluePixelComponent(q)+QuantumRange/2+1);
     q++;
   }
 }
diff --git a/coders/miff.c b/coders/miff.c
index 611996c..12976b6 100644
--- a/coders/miff.c
+++ b/coders/miff.c
@@ -1421,7 +1421,11 @@
             if ((image->storage_class == PseudoClass) ||
                 (image->colorspace == CMYKColorspace))
               SetIndexPixelComponent(indexes+x,index);
-            *q++=pixel;
+            SetRedPixelComponent(q,pixel.red);
+            SetGreenPixelComponent(q,pixel.green);
+            SetBluePixelComponent(q,pixel.blue);
+            SetOpacityPixelComponent(q,pixel.opacity);
+            q++;
           }
           break;
         }
@@ -2415,7 +2419,8 @@
                 (IsColorEqual(p,&pixel) != MagickFalse) &&
                 ((image->matte == MagickFalse) ||
                  (GetOpacityPixelComponent(p) == pixel.opacity)) &&
-                ((indexes == (IndexPacket *) NULL) || (index == indexes[x])))
+                ((indexes == (IndexPacket *) NULL) ||
+                 (index == GetIndexPixelComponent(indexes+x))))
               length++;
             else
               {
diff --git a/coders/plasma.c b/coders/plasma.c
index 5851f9a..9b4850e 100644
--- a/coders/plasma.c
+++ b/coders/plasma.c
@@ -114,12 +114,12 @@
   if (q == (PixelPacket *) NULL)
     return;
   range=GetQuantumRange(16UL);
-  q->red=ScaleAnyToQuantum((size_t) (65535.0*
-    GetPseudoRandomValue(random_info)+0.5),range);
-  q->green=ScaleAnyToQuantum((size_t) (65535.0*
-    GetPseudoRandomValue(random_info)+0.5),range);
-  q->blue=ScaleAnyToQuantum((size_t) (65535.0*
-    GetPseudoRandomValue(random_info)+0.5),range);
+  SetRedPixelComponent(q,ScaleAnyToQuantum((size_t) (65535.0*
+    GetPseudoRandomValue(random_info)+0.5),range));
+  SetGreenPixelComponent(q,ScaleAnyToQuantum((size_t) (65535.0*
+    GetPseudoRandomValue(random_info)+0.5),range));
+  SetBluePixelComponent(q,ScaleAnyToQuantum((size_t) (65535.0*
+    GetPseudoRandomValue(random_info)+0.5),range));
   (void) SyncAuthenticPixels(image,exception);
 }
 
diff --git a/coders/png.c b/coders/png.c
index aef59ed..52a34a4 100644
--- a/coders/png.c
+++ b/coders/png.c
@@ -2754,7 +2754,7 @@
         r=quantum_scanline;
 
         for (x=0; x < (ssize_t) image->columns; x++)
-          indexes[x]=(IndexPacket) (*r++);
+          SetIndexPixelComponent(indexes+x,*r++);
 
         if (SyncAuthenticPixels(image,exception) == MagickFalse)
           break;
@@ -2762,7 +2762,7 @@
         if ((image->previous == (Image *) NULL) && (num_passes == 1))
           {
             status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
-                image->rows);
+              image->rows);
 
             if (status == MagickFalse)
               break;
@@ -5906,7 +5906,7 @@
                     pixels=prev;
                     n=next;
                     q=GetAuthenticPixels(large_image,0,yy,large_image->columns,
-                          1,exception);
+                      1,exception);
                     q+=(large_image->columns-image->columns);
 
                     for (x=(ssize_t) image->columns-1; x >= 0; x--)
@@ -7642,7 +7642,7 @@
                       image->colormap[i].blue == 
                       GetBluePixelComponent(q))
                   {
-                    indexes[x]=(IndexPacket) i;
+                    SetIndexPixelComponent(indexes+x,i);
                     break;
                   }
                 }
diff --git a/coders/ps2.c b/coders/ps2.c
index d1c23e6..9e014fe 100644
--- a/coders/ps2.c
+++ b/coders/ps2.c
@@ -968,7 +968,8 @@
                           GetGreenPixelComponent(p)));
                         Ascii85Encode(image,ScaleQuantumToChar(
                           GetBluePixelComponent(p)));
-                        Ascii85Encode(image,ScaleQuantumToChar(indexes[x]));
+                        Ascii85Encode(image,ScaleQuantumToChar(
+                          GetIndexPixelComponent(indexes+x)));
                       }
                   p++;
                 }
diff --git a/coders/sun.c b/coders/sun.c
index 0faca57..95b0736 100644
--- a/coders/sun.c
+++ b/coders/sun.c
@@ -538,11 +538,11 @@
               if (image->colors != 0)
                 {
                   SetRedPixelComponent(q,image->colormap[(ssize_t)
-                    q->red].red);
+                    GetRedPixelComponent(q)].red);
                   SetGreenPixelComponent(q,image->colormap[(ssize_t)
-                    q->green].green);
+                    GetGreenPixelComponent(q)].green);
                   SetBluePixelComponent(q,image->colormap[(ssize_t)
-                    q->blue].blue);
+                    GetBluePixelComponent(q)].blue);
                 }
               q++;
             }
diff --git a/coders/tga.c b/coders/tga.c
index f9ea204..87f954b 100644
--- a/coders/tga.c
+++ b/coders/tga.c
@@ -797,7 +797,7 @@
               *q++=(unsigned char) ScaleQuantumToChar(
                 GetAlphaPixelComponent(p));
             if (image->colorspace == CMYKColorspace)
-              *q++=ScaleQuantumToChar(indexes[x]);
+              *q++=ScaleQuantumToChar(GetIndexPixelComponent(indexes+x));
           }
       p++;
     }
diff --git a/coders/uil.c b/coders/uil.c
index c706888..937f9d1 100644
--- a/coders/uil.c
+++ b/coders/uil.c
@@ -355,7 +355,7 @@
     (void) WriteBlobString(image,"    \"");
     for (x=0; x < (ssize_t) image->columns; x++)
     {
-      k=((ssize_t) indexes[x] % MaxCixels);
+      k=((ssize_t) GetIndexPixelComponent(indexes+x) % MaxCixels);
       symbol[0]=Cixel[k];
       for (j=1; j < (int) characters_per_pixel; j++)
       {
diff --git a/coders/viff.c b/coders/viff.c
index f78a08c..d4d94e1 100644
--- a/coders/viff.c
+++ b/coders/viff.c
@@ -628,7 +628,7 @@
             for (bit=0; bit < 8; bit++)
               if (PixelIntensity(q) < ((MagickRealType) QuantumRange/2.0))
                 {
-                  quantum=(size_t) indexes[x+bit];
+                  quantum=(size_t) GetIndexPixelComponent(indexes+x+bit);
                   quantum|=0x01;
                   SetIndexPixelComponent(indexes+x+bit,quantum);
                 }
@@ -639,7 +639,7 @@
               for (bit=0; bit < (ssize_t) (image->columns % 8); bit++)
                 if (PixelIntensity(q) < ((MagickRealType) QuantumRange/2.0))
                   {
-                    quantum=(size_t) indexes[x+bit];
+                    quantum=(size_t) getIndexPixelComponent(indexes+x+bit);
                     quantum|=0x01;
                     SetIndexPixelComponent(indexes+x+bit,quantum);
                   }
@@ -695,11 +695,11 @@
               if (image->colors != 0)
                 {
                   SetRedPixelComponent(q,image->colormap[(ssize_t)
-                    q->red].red);
+                    GetRedPixelComponent(q)].red);
                   SetGreenPixelComponent(q,image->colormap[(ssize_t)
-                    q->green].green);
+                    GetGreenPixelComponent(q)].green);
                   SetBluePixelComponent(q,image->colormap[(ssize_t)
-                    q->blue].blue);
+                    GetBluePixelComponent(q)].blue);
                 }
               SetOpacityPixelComponent(q,image->matte != MagickFalse ?
                 QuantumRange-ScaleCharToQuantum(*(p+number_pixels*3)) :
diff --git a/coders/yuv.c b/coders/yuv.c
index 0307377..7d1a3b1 100644
--- a/coders/yuv.c
+++ b/coders/yuv.c
@@ -238,19 +238,21 @@
             break;
           for (x=0; x < (ssize_t) image->columns; x+=2)
           {
-            chroma_pixels->red=(Quantum) 0;
+            SetRedPixelComponent(chroma_pixels,0);
             if (quantum == 1)
-              chroma_pixels->green=ScaleCharToQuantum(*p++);
+              SetGreenPixelComponent(chroma_pixels,ScaleCharToQuantum(*p++));
             else
               {
-                chroma_pixels->green=ScaleShortToQuantum(((*p) << 8) | *(p+1));
+                SetGreenPixelComponent(chroma_pixels,ScaleShortToQuantum(
+                  ((*p) << 8) | *(p+1)));
                 p+=2;
               }
             if (quantum == 1)
               SetRedPixelComponent(q,ScaleCharToQuantum(*p++));
             else
               {
-                q->red=ScaleShortToQuantum(((*p) << 8) | *(p+1));
+                SetRedPixelComponent(q,ScaleShortToQuantum(((*p) << 8) |
+                  *(p+1)));
                 p+=2;
               }
             SetGreenPixelComponent(q,0);
@@ -259,10 +261,11 @@
             SetGreenPixelComponent(q,0);
             SetBluePixelComponent(q,0);
             if (quantum == 1)
-              chroma_pixels->blue=ScaleCharToQuantum(*p++);
+              SetBluePixelComponent(chroma_pixels,ScaleCharToQuantum(*p++));
             else
               {
-                chroma_pixels->blue=ScaleShortToQuantum(((*p) << 8) | *(p+1));
+                SetBluePixelComponent(chroma_pixels,ScaleShortToQuantum(
+                  ((*p) << 8) | *(p+1)));
                 p+=2;
               }
             if (quantum == 1)
@@ -404,8 +407,8 @@
         break;
       for (x=0; x < (ssize_t) image->columns; x++)
       {
-        SetGreenPixelComponent(q,chroma_pixels->green);
-        SetBluePixelComponent(q,chroma_pixels->blue);
+        SetGreenPixelComponent(q,GetGreenPixelComponent(chroma_pixels));
+        SetBluePixelComponent(q,GetBluePixelComponent(chroma_pixels));
         chroma_pixels++;
         q++;
       }