diff --git a/MagickCore/effect.c b/MagickCore/effect.c
index 1b67769..a688194 100644
--- a/MagickCore/effect.c
+++ b/MagickCore/effect.c
@@ -3554,7 +3554,6 @@
*spread_image;
MagickBooleanType
- concurrent,
status;
MagickOffsetType
@@ -3569,6 +3568,9 @@
ssize_t
y;
+ unsigned long
+ key;
+
/*
Initialize spread image attributes.
*/
@@ -3594,12 +3596,12 @@
progress=0;
width=GetOptimalKernelWidth1D(radius,0.5);
random_info=AcquireRandomInfoThreadSet();
- concurrent=GetRandomSecretKey(random_info[0]) == ~0UL ? MagickTrue :
- MagickFalse;
+ key=GetRandomSecretKey(random_info[0]);
image_view=AcquireVirtualCacheView(image,exception);
spread_view=AcquireAuthenticCacheView(spread_image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
- #pragma omp parallel for schedule(static,8) shared(progress,status) omp_concurrent(concurrent)
+ #pragma omp parallel for schedule(static,8) shared(progress,status) \
+ if (key == ~0UL) num_threads(GetMagickResourceLimit(ThreadResource))
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{