The corner error checking loop has been adjusted to not only check for drifters that are exactly both at a corner of a grid cell, but also for those that are very near the corner of a grid cell. I am not sure why this step was not necessary in the original code, so I suspect that either there is some other problem with the current code or that the problem does not occur once other code features are in place, such as 3D movement and/or diffusion. However, the code should probably run regardless of whether diffusion is in place... and possibly same with vertical movement.