diff --git a/magick/effect.c b/magick/effect.c
index 49ac136..6901670 100644
--- a/magick/effect.c
+++ b/magick/effect.c
@@ -3178,8 +3178,8 @@
   GetMagickPixelPacket(image,&bias);
   image_view=AcquireCacheView(image);
   blur_view=AcquireCacheView(blur_image);
-#if defined(MAGICKCORE_OPENMP_SUPPORT)
-  #pragma omp parallel for schedule(static) shared(progress,status)
+#if defined(MAGICKCORE_OPENMP_SUPPORT) && (_OPENMP > 202001)
+  #pragma omp parallel for schedule(dynamic,4) shared(progress,status)
 #endif
   for (y=0; y < (long) image->rows; y++)
   {
@@ -3262,7 +3262,8 @@
           {
             (void) GetOneCacheViewVirtualPixel(image_view,x+offset[i].x,y+
               offset[i].y,&pixel,exception);
-            alpha=(MagickRealType) (QuantumScale*GetAlphaPixelComponent(&pixel));
+            alpha=(MagickRealType) (QuantumScale*
+              GetAlphaPixelComponent(&pixel));
             qixel.red+=(*k)*alpha*pixel.red;
             qixel.green+=(*k)*alpha*pixel.green;
             qixel.blue+=(*k)*alpha*pixel.blue;
@@ -3297,7 +3298,7 @@
         MagickBooleanType
           proceed;
 
-#if defined(MAGICKCORE_OPENMP_SUPPORT)
+#if defined(MAGICKCORE_OPENMP_SUPPORT) && (_OPENMP > 202001)
   #pragma omp critical (MagickCore_MotionBlurImageChannel)
 #endif
         proceed=SetImageProgress(image,BlurImageTag,progress++,image->rows);
@@ -5158,8 +5159,8 @@
     UndefinedVirtualPixelMethod,MagickTrue,exception);
   random_info=AcquireRandomInfoThreadSet();
   image_view=AcquireCacheView(spread_image);
-#if defined(MAGICKCORE_OPENMP_SUPPORT)
-  #pragma omp parallel for schedule(static) shared(progress,status)
+#if defined(MAGICKCORE_OPENMP_SUPPORT) && (_OPENMP > 202001)
+  #pragma omp parallel for schedule(dynamic,4) shared(progress,status)
 #endif
   for (y=0; y < (long) spread_image->rows; y++)
   {
@@ -5203,7 +5204,7 @@
         MagickBooleanType
           proceed;
 
-#if defined(MAGICKCORE_OPENMP_SUPPORT)
+#if defined(MAGICKCORE_OPENMP_SUPPORT) && (_OPENMP > 202001)
   #pragma omp critical (MagickCore_SpreadImage)
 #endif
         proceed=SetImageProgress(image,SpreadImageTag,progress++,image->rows);