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