diff --git a/magick/accelerate.c b/magick/accelerate.c
index c9a0348..ec13d88 100644
--- a/magick/accelerate.c
+++ b/magick/accelerate.c
@@ -313,8 +313,8 @@
   (void) data;
   (void) length;
   exception=(ExceptionInfo *) user_context;
-  (void) ThrowMagickException(exception,GetMagickModule(),FilterError,
-    "FilterFailed","`%s'",message);
+  (void) ThrowMagickException(exception,GetMagickModule(),DelegateWarning,
+    "DelegateFailed","`%s'",message);
 }
 
 static MagickBooleanType BindConvolveParameters(ConvolveInfo *convolve_info,
@@ -486,8 +486,8 @@
   /*
     Create OpenCL context.
   */
-  convolve_info->context=clCreateContextFromType((cl_context_properties *) NULL,
-    CL_DEVICE_TYPE_GPU,ConvolveNotify,exception,&status);
+  convolve_info->context=clCreateContextFromType((cl_context_properties *)
+    NULL,CL_DEVICE_TYPE_GPU,ConvolveNotify,exception,&status);
   if ((convolve_info->context == (cl_context) NULL) || (status != CL_SUCCESS))
     convolve_info->context=clCreateContextFromType((cl_context_properties *)
       NULL,CL_DEVICE_TYPE_CPU,ConvolveNotify,exception,&status);
@@ -496,7 +496,7 @@
       NULL,CL_DEVICE_TYPE_DEFAULT,ConvolveNotify,exception,&status);
   if ((convolve_info->context == (cl_context) NULL) || (status != CL_SUCCESS))
     {
-      (void) ThrowMagickException(exception,GetMagickModule(),FilterError,
+      (void) ThrowMagickException(exception,GetMagickModule(),DelegateWarning,
         "failed to create OpenCL context","`%s' (%d)",image->filename,status);
       DestroyConvolveInfo(convolve_info);
       return((ConvolveInfo *) NULL);
@@ -566,7 +566,7 @@
         }
       status=clGetProgramBuildInfo(convolve_info->program,
         convolve_info->devices[0],CL_PROGRAM_BUILD_LOG,length,log,&length);
-      (void) ThrowMagickException(exception,GetMagickModule(),FilterError,
+      (void) ThrowMagickException(exception,GetMagickModule(),DelegateWarning,
         "failed to build OpenCL program","`%s' (%s)",image->filename,log);
       log=DestroyString(log);
       DestroyConvolveInfo(convolve_info);
diff --git a/magick/exception.c b/magick/exception.c
index c7d3df3..39e2c4b 100644
--- a/magick/exception.c
+++ b/magick/exception.c
@@ -216,7 +216,7 @@
       MagickWarning(p->severity,p->reason,p->description);
     if ((p->severity >= ErrorException) && (p->severity < FatalErrorException))
       MagickError(p->severity,p->reason,p->description);
-    if (exception->severity >= FatalErrorException)
+    if (p->severity >= FatalErrorException)
       MagickFatalError(p->severity,p->reason,p->description);
     p=(const ExceptionInfo *) GetNextValueInLinkedList((LinkedListInfo *)
       exception->exceptions);
@@ -946,7 +946,8 @@
     reason[MaxTextExtent];
 
   const char
-    *locale;
+    *locale,
+    *type;
 
   int
     n;
@@ -972,8 +973,15 @@
     reason[MaxTextExtent-1]='\0';
   status=LogMagickEvent(ExceptionEvent,module,function,line,"%s",reason);
   GetPathComponent(module,TailPath,path);
-  (void) FormatMagickString(message,MaxTextExtent,"%s @ %s/%s/%ld",reason,path,
-    function,line);
+  type="undefined";
+  if ((severity >= WarningException) && (severity < ErrorException))
+    type="warning";
+  if ((severity >= ErrorException) && (severity < FatalErrorException))
+    type="error";
+  if (severity >= FatalErrorException)
+    type="fatal";
+  (void) FormatMagickString(message,MaxTextExtent,"%s @ %s/%s/%s/%ld",reason,
+    type,path,function,line);
   (void) ThrowException(exception,severity,message,(char *) NULL);
   return(status);
 }