diff --git a/magick/image-private.h b/magick/image-private.h
index f79c415..92a6b6a 100644
--- a/magick/image-private.h
+++ b/magick/image-private.h
@@ -26,6 +26,7 @@
 #define Magick2PI  6.28318530717958647692528676655900576839433879875020
 #define MagickPI2  1.57079632679489661923132169163975144209858469968755
 #define MagickSQ1_2  0.7071067811865475244008443621048490
+#define MagickSQ2  1.414213562373095
 #define MagickSQ2PI  2.50662827463100024161235523934010416269302368164062
 #define QuantumScale  ((double) 1.0/(double) QuantumRange)
 #define UndefinedTicksPerSecond  100L
diff --git a/magick/morphology.c b/magick/morphology.c
index 54a4e68..634c274 100644
--- a/magick/morphology.c
+++ b/magick/morphology.c
@@ -59,6 +59,7 @@
 #include "magick/gem.h"
 #include "magick/hashmap.h"
 #include "magick/image.h"
+#include "magick/image-private.h"
 #include "magick/list.h"
 #include "magick/memory_.h"
 #include "magick/monitor-private.h"
@@ -1126,6 +1127,7 @@
       if (image->colorspace == CMYKColorspace)
         q_indexes[x] = p_indexes[r];
 
+      result.index=0;
       switch (method) {
         case ConvolveMorphology:
           result=bias;
@@ -1513,6 +1515,7 @@
     limit = image->columns > image->rows ? image->columns : image->rows;
 
   /* Special morphology cases */
+  changed=MagickFalse;
   switch( method ) {
     case CloseMorphology:
       new_image = MorphologyImage(image, DialateMorphology, iterations, channel,
diff --git a/magick/option.h b/magick/option.h
index 72e11c9..0a42ffa 100644
--- a/magick/option.h
+++ b/magick/option.h
@@ -88,7 +88,9 @@
   MagickThresholdOptions,
   MagickTypeOptions,
   MagickValidateOptions,
-  MagickVirtualPixelOptions
+  MagickVirtualPixelOptions,
+  MagickKernelOptions,
+  MagickMorphologyOptions
 } MagickOption;
 
 typedef enum