diff --git a/MagickCore/magick.c b/MagickCore/magick.c
index d06d9da..b5d6c58 100644
--- a/MagickCore/magick.c
+++ b/MagickCore/magick.c
@@ -1444,6 +1444,8 @@
   (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",magick_info->name);
   if (magick_list == (SplayTreeInfo *) NULL)
     return((MagickInfo *) NULL);
+  if (magick_info->thread_support == NoThreadSupport)
+    magick_info->semaphore=AcquireSemaphoreInfo();
   status=AddValueToSplayTree(magick_list,magick_info->name,magick_info);
   if (status == MagickFalse)
     ThrowFatalException(ResourceLimitFatalError,"MemoryAllocationFailed");