diff --git a/magick/delegate.c b/magick/delegate.c
index 9706f2d..3171f13 100644
--- a/magick/delegate.c
+++ b/magick/delegate.c
@@ -708,7 +708,8 @@
if ((delegate_list == (LinkedListInfo *) NULL) &&
(instantiate_delegate == MagickFalse))
{
- AcquireSemaphoreInfo(&delegate_semaphore);
+ if (delegate_semaphore == (SemaphoreInfo *) NULL)
+ AcquireSemaphoreInfo(&delegate_semaphore);
LockSemaphoreInfo(delegate_semaphore);
if ((delegate_list == (LinkedListInfo *) NULL) &&
(instantiate_delegate == MagickFalse))