diff --git a/Magick++/lib/Image.cpp b/Magick++/lib/Image.cpp
index fcb1fd1..8f20750 100644
--- a/Magick++/lib/Image.cpp
+++ b/Magick++/lib/Image.cpp
@@ -725,6 +725,7 @@
   kernel_info->width=order_;
   kernel_info->height=order_;
   kernel_info->values=(double *) kernel_;
+  kernel_info->bias=image()->bias;
   MagickCore::Image* newImage =
     ConvolveImage ( image(), kernel_info, &exceptionInfo );
   kernel_info->values=(double *) NULL;
diff --git a/MagickCore/cache-view.c b/MagickCore/cache-view.c
index f82db39..25fe60b 100644
--- a/MagickCore/cache-view.c
+++ b/MagickCore/cache-view.c
@@ -113,7 +113,7 @@
   assert(image->signature == MagickSignature);
   if (image->debug != MagickFalse)
     (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
-  cache_view=(CacheView *) AcquireMagickMemory(sizeof(*cache_view));
+  cache_view=(CacheView *) AcquireAlignedMemory(1,sizeof(*cache_view));
   if (cache_view == (CacheView *) NULL)
     ThrowFatalException(ResourceLimitFatalError,"MemoryAllocationFailed");
   (void) ResetMagickMemory(cache_view,0,sizeof(*cache_view));
@@ -160,7 +160,7 @@
   if (cache_view->debug != MagickFalse)
     (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",
       cache_view->image->filename);
-  clone_view=(CacheView *) AcquireMagickMemory(sizeof(*clone_view));
+  clone_view=(CacheView *) AcquireAlignedMemory(1,sizeof(*clone_view));
   if (clone_view == (CacheView *) NULL)
     ThrowFatalException(ResourceLimitFatalError,"MemoryAllocationFailed");
   (void) ResetMagickMemory(clone_view,0,sizeof(*clone_view));
diff --git a/MagickCore/cache.c b/MagickCore/cache.c
index b894a76..ef3dbf2 100644
--- a/MagickCore/cache.c
+++ b/MagickCore/cache.c
@@ -185,7 +185,7 @@
   CacheInfo
     *cache_info;
 
-  cache_info=(CacheInfo *) AcquireMagickMemory(sizeof(*cache_info));
+  cache_info=(CacheInfo *) AcquireAlignedMemory(1,sizeof(*cache_info));
   if (cache_info == (CacheInfo *) NULL)
     ThrowFatalException(ResourceLimitFatalError,"MemoryAllocationFailed");
   (void) ResetMagickMemory(cache_info,0,sizeof(*cache_info));
@@ -254,7 +254,7 @@
   register ssize_t
     i;
 
-  nexus_info=(NexusInfo **) AcquireQuantumMemory(number_threads,
+  nexus_info=(NexusInfo **) AcquireAlignedMemory(number_threads,
     sizeof(*nexus_info));
   if (nexus_info == (NexusInfo **) NULL)
     ThrowFatalException(ResourceLimitFatalError,"MemoryAllocationFailed");
@@ -782,7 +782,7 @@
   */
   if (cache_info->debug != MagickFalse)
     (void) LogMagickEvent(CacheEvent,GetMagickModule(),"disk => disk");
-  blob=(unsigned char *) AcquireQuantumMemory(MagickMaxBufferExtent,
+  blob=(unsigned char *) AcquireAlignedMemory(MagickMaxBufferExtent,
     sizeof(*blob));
   if (blob == (unsigned char *) NULL)
     {
@@ -948,7 +948,7 @@
   length=(size_t) MagickMax(MagickMax(cache_info->number_channels,
     clone_info->number_channels)*sizeof(Quantum),MagickMax(
     cache_info->metacontent_extent,clone_info->metacontent_extent));
-  blob=(unsigned char *) AcquireQuantumMemory(length,sizeof(*blob));
+  blob=(unsigned char *) AcquireAlignedMemory(length,sizeof(*blob));
   if (blob == (unsigned char *) NULL)
     {
       (void) ThrowMagickException(exception,GetMagickModule(),
@@ -1484,7 +1484,7 @@
     if (nexus_info[i]->cache != (Quantum *) NULL)
       RelinquishCacheNexusPixels(nexus_info[i]);
     nexus_info[i]->signature=(~MagickSignature);
-    nexus_info[i]=(NexusInfo *) RelinquishAlignedMemory(nexus_info[i]);
+    nexus_info[i]=(NexusInfo *) RelinquishMagickMemory(nexus_info[i]);
   }
   nexus_info=(NexusInfo **) RelinquishMagickMemory(nexus_info);
   return(nexus_info);
@@ -3246,7 +3246,7 @@
       /*
         Acquire virtual pixel and associated channels.
       */
-      virtual_pixel=(Quantum *) AcquireQuantumMemory(
+      virtual_pixel=(Quantum *) AcquireAlignedMemory(
         cache_info->number_channels,sizeof(*virtual_pixel));
       if (virtual_pixel == (Quantum *) NULL)
         {
@@ -3259,12 +3259,11 @@
         sizeof(*virtual_pixel));
       if (cache_info->metacontent_extent != 0)
         {
-          virtual_associated_pixel=(void *) AcquireMagickMemory(
+          virtual_associated_pixel=(void *) AcquireAlignedMemory(1,
             cache_info->metacontent_extent);
           if (virtual_associated_pixel == (void *) NULL)
             {
-              virtual_pixel=(Quantum *) RelinquishMagickMemory(
-                virtual_pixel);
+              virtual_pixel=(Quantum *) RelinquishMagickMemory(virtual_pixel);
               virtual_nexus=DestroyPixelCacheNexus(virtual_nexus,1);
               (void) ThrowMagickException(exception,GetMagickModule(),
                 CacheError,"UnableToGetCacheNexus","`%s'",image->filename);
diff --git a/MagickCore/effect.c b/MagickCore/effect.c
index 65a3f6d..82b43c8 100644
--- a/MagickCore/effect.c
+++ b/MagickCore/effect.c
@@ -1366,7 +1366,7 @@
           }
         k=kernel_info->values;
         kernel_pixels=p;
-        pixel=image->bias;
+        pixel=kernel_info->bias;
         if (((convolve_traits & BlendPixelTrait) == 0) ||
             (GetPixelAlphaTraits(image) == UndefinedPixelTrait) ||
             (image->matte == MagickFalse))
@@ -1816,6 +1816,7 @@
     }
   }
   kernel_info->values[i/2]=(double) (width*width-1.0);
+  kernel_info->bias=image->bias;
   edge_image=ConvolveImage(image,kernel_info,exception);
   kernel_info=DestroyKernelInfo(kernel_info);
   return(edge_image);
@@ -1910,6 +1911,7 @@
     }
     k--;
   }
+  kernel_info->bias=image->bias;
   emboss_image=ConvolveImage(image,kernel_info,exception);
   kernel_info=DestroyKernelInfo(kernel_info);
   if (emboss_image != (Image *) NULL)
@@ -2002,6 +2004,7 @@
       i++;
     }
   }
+  kernel_info->bias=image->bias;
   blur_image=ConvolveImage(image,kernel_info,exception);
   kernel_info=DestroyKernelInfo(kernel_info);
   return(blur_image);
@@ -3756,6 +3759,7 @@
     }
   }
   kernel_info->values[i/2]=(double) ((-2.0)*normalize);
+  kernel_info->bias=image->bias;
   sharp_image=ConvolveImage(image,kernel_info,exception);
   kernel_info=DestroyKernelInfo(kernel_info);
   return(sharp_image);
diff --git a/MagickCore/version.h b/MagickCore/version.h
index db83fac..079a9bf 100644
--- a/MagickCore/version.h
+++ b/MagickCore/version.h
@@ -34,7 +34,7 @@
 #define MagickLibAddendum  "-0"
 #define MagickLibInterface  5
 #define MagickLibMinInterface  5
-#define MagickReleaseDate  "2011-07-15"
+#define MagickReleaseDate  "2011-07-16"
 #define MagickChangeDate   "20110701"
 #define MagickAuthoritativeURL  "http://www.imagemagick.org"
 #if defined(MAGICKCORE_OPENMP_SUPPORT)
diff --git a/MagickWand/mogrify.c b/MagickWand/mogrify.c
index 104b299..6146c54 100644
--- a/MagickWand/mogrify.c
+++ b/MagickWand/mogrify.c
@@ -1201,6 +1201,7 @@
             kernel_info=AcquireKernelInfo(argv[i+1]);
             if (kernel_info == (KernelInfo *) NULL)
               break;
+            kernel_info->bias=(*image)->bias;
             mogrify_image=ConvolveImage(*image,kernel_info,exception);
             kernel_info=DestroyKernelInfo(kernel_info);
             break;
@@ -1211,20 +1212,7 @@
               Crop a image to a smaller size
             */
             (void) SyncImageSettings(mogrify_info,*image);
-#if 0
-            flags=ParseGravityGeometry(*image,argv[i+1],&geometry,exception);
-            if (((geometry.width != 0) || (geometry.height != 0)) &&
-                ((flags & XValue) == 0) && ((flags & YValue) == 0))
-              break;
-#endif
-#if 0
-            mogrify_image=CloneImage(*image,0,0,MagickTrue,&(*image)->exception);
-            mogrify_image->next = mogrify_image->previous = (Image *)NULL;
-            (void) TransformImage(&mogrify_image,argv[i+1],(char *) NULL);
-            InheritException(exception,&mogrify_image->exception);
-#else
             mogrify_image=CropImageToTiles(*image,argv[i+1],exception);
-#endif
             break;
           }
         if (LocaleCompare("cycle",option+1) == 0)
diff --git a/PerlMagick/Magick.xs b/PerlMagick/Magick.xs
index 9f9eaf8..45e5b98 100644
--- a/PerlMagick/Magick.xs
+++ b/PerlMagick/Magick.xs
@@ -9173,6 +9173,7 @@
                 break;
             }
           PushPixelChannelMap(image,channel);
+          kernel->bias=image->bias;
           image=ConvolveImage(image,kernel,exception);
           if (image != (Image *) NULL)
             PopPixelChannelMap(image);