--- a/separate+/src/separate-core.c
+++ b/separate+/src/separate-core.c
@@ -431,7 +431,7 @@
     for (counter = 0; counter < n_drawables; ++counter)
       gimp_pixel_rgn_init (&pixrgn[counter], drawables[counter], 0, 0, width, height, TRUE, FALSE);
 
-    sc->cmyktemp = g_new (guchar, 64 * 64 * 4);
+    sc->cmyktemp = g_new (guchar, gimp_tile_width () * gimp_tile_height () * 4);
 
     gimp_progress_init (_("Separating..."));
     ntiles = drawable->ntile_rows * drawable->ntile_cols;
@@ -549,7 +549,7 @@
         n_drawables++;
       }
 
-    sc->cmyktemp = g_new (guchar, 64 * 64 * 4);
+    sc->cmyktemp = g_new (guchar, gimp_tile_width () * gimp_tile_height () * 4);
 
     gimp_progress_init (_("Separating..."));
     ntiles = drawable->ntile_cols * drawable->ntile_rows;
