diff --git a/wand/mogrify.c b/wand/mogrify.c
index c5de947..997c853 100644
--- a/wand/mogrify.c
+++ b/wand/mogrify.c
@@ -7697,14 +7697,23 @@
if (LocaleCompare("ift",option+1) == 0)
{
Image
- *fourier_image;
+ *fourier_image,
+ *magnitude_image,
+ *phase_image;
/*
Implements the inverse fourier discrete Fourier transform (DFT).
*/
(void) SyncImagesSettings(image_info,*images);
- fourier_image=InverseFourierTransformImage(*images,(*images)->next,
- *option == '-' ? MagickTrue : MagickFalse,exception);
+ magnitude_image=RemoveFirstImageFromList(images);
+ phase_image=RemoveFirstImageFromList(images);
+ if (phase_image == (Image *) NULL)
+ {
+ status=MagickFalse;
+ break;
+ }
+ fourier_image=InverseFourierTransformImage(magnitude_image,
+ phase_image,*option == '-' ? MagickTrue : MagickFalse,exception);
if (fourier_image == (Image *) NULL)
break;
*images=DestroyImage(*images);