diff --git a/MagickCore/display.c b/MagickCore/display.c
index e188efd..263f605 100644
--- a/MagickCore/display.c
+++ b/MagickCore/display.c
@@ -10184,6 +10184,7 @@
               (DrawInfo *) NULL);
             draw_info->fill.alpha=ClampToQuantum(StringToDouble(matte,
               (char **) NULL));
+            (void) SetImageAlphaChannel(*image,OpaqueAlphaChannel,exception);
             channel_mask=SetPixelChannelMask(*image,AlphaChannel); 
             (void) FloodfillPaintImage(*image,draw_info,&target,(ssize_t)
               x_offset,(ssize_t) y_offset,method == FloodfillMethod ?
diff --git a/MagickCore/paint.c b/MagickCore/paint.c
index 575fcd1..4d303ef 100644
--- a/MagickCore/paint.c
+++ b/MagickCore/paint.c
@@ -138,11 +138,9 @@
     status;
 
   PixelInfo
+    fill_color,
     pixel;
 
-  PixelInfo
-    fill_color;
-
   register SegmentInfo
     *s;
 
@@ -235,7 +233,7 @@
     q+=x1*GetPixelChannels(floodplane_image);
     for (x=x1; x >= 0; x--)
     {
-      if (GetPixelAlpha(image,q) == TransparentAlpha)
+      if (GetPixelAlpha(floodplane_image,q) == TransparentAlpha)
         break;
       GetPixelInfoPixel(image,p,&pixel);
       if (IsFuzzyEquivalencePixelInfo(&pixel,target) == invert)
@@ -262,13 +260,13 @@
             {
               p=GetCacheViewVirtualPixels(image_view,x,y,image->columns-x,1,
                 exception);
-              q=GetCacheViewAuthenticPixels(floodplane_view,x,y,
-                image->columns-x,1,exception);
+              q=GetCacheViewAuthenticPixels(floodplane_view,x,y,image->columns-
+                x,1,exception);
               if ((p == (const Quantum *) NULL) || (q == (Quantum *) NULL))
                 break;
               for ( ; x < (ssize_t) image->columns; x++)
               {
-                if (GetPixelAlpha(image,q) == TransparentAlpha)
+                if (GetPixelAlpha(floodplane_image,q) == TransparentAlpha)
                   break;
                 GetPixelInfoPixel(image,p,&pixel);
                 if (IsFuzzyEquivalencePixelInfo(&pixel,target) == invert)
@@ -297,7 +295,7 @@
             break;
           for ( ; x <= x2; x++)
           {
-            if (GetPixelAlpha(image,q) == TransparentAlpha)
+            if (GetPixelAlpha(floodplane_image,q) == TransparentAlpha)
               break;
             GetPixelInfoPixel(image,p,&pixel);
             if (IsFuzzyEquivalencePixelInfo(&pixel,target) != invert)
diff --git a/MagickCore/version.h b/MagickCore/version.h
index 4c9a742..8a76ca3 100644
--- a/MagickCore/version.h
+++ b/MagickCore/version.h
@@ -34,7 +34,7 @@
 #define MagickLibAddendum  "-0"
 #define MagickLibInterface  7
 #define MagickLibMinInterface  7
-#define MagickReleaseDate  "2011-12-22"
+#define MagickReleaseDate  "2011-12-26"
 #define MagickChangeDate   "20110801"
 #define MagickAuthoritativeURL  "http://www.imagemagick.org"
 #if defined(MAGICKCORE_OPENMP_SUPPORT)