     uint3 chunk = make_uint3(chunk_ix % chunks.x,
                             (chunk_ix / chunks.x) % chunks.y,
                             (chunk_ix / chunks.x) / chunks.y);
-    uint3 cell = make_uint3(32 * chunk.x + thread,
+    uint3 cell = make_uint3(31 * chunk.x + thread,
                             5 * chunk.y,
                             5 * chunk.z);
 

  fprintf(stderr, "Cells [%u x %u x %u]\n", ctx->cells.x, ctx->cells.y, ctx->cells.z);

  // Each chunk handles a set of 32 x 5 x 5 cells.
  ctx->chunks = make_uint3(((cells.x + 31) / 32),
                           ((cells.y + 4) / 5),
                           ((cells.z + 4) / 5));
  ctx->chunk_total = ctx->chunks.x* ctx->chunks.y* ctx->chunks.z;

                         + cell.z * field_slice_stride
                         + cell.y * field_row_stride
                         + cell.x;
    uint6 prev = fetch(ptr, field_end_d, field_row_stride, threshold, thread);
    ptr += field_slice_stride;

    bool xmask = cell.x < cells.x;
