Fixed semaphore bug in RegisterMagickInfo.
diff --git a/MagickCore/magick.c b/MagickCore/magick.c
index 70a90aa..c260c7f 100644
--- a/MagickCore/magick.c
+++ b/MagickCore/magick.c
@@ -1445,7 +1445,8 @@
   (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",magick_info->name);
   if (magick_list == (SplayTreeInfo *) NULL)
     return((MagickInfo *) NULL);
-  if (magick_info->thread_support == NoThreadSupport)
+  if (((magick_info->thread_support & DecoderThreadSupport) == 0) ||
+      ((magick_info->thread_support & EncoderThreadSupport) == 0))
     magick_info->semaphore=AcquireSemaphoreInfo();
   status=AddValueToSplayTree(magick_list,magick_info->name,magick_info);
   if (status == MagickFalse)