                         j = d_excell_idx[excli(local_k, my_cell)];
                         #endif
 
+                        if (j == idx_i) continue;
+
                         // check against neighbor
                         postype_j = texFetchScalar4(d_postype_old, implicit_postype_old_tex, j);
                         Shape shape_j(quat<Scalar>(), s_params[__scalar_as_int(postype_j.w)]);


    unsigned int overlap_checks = 0;

    // number of overlapping depletants
    unsigned int n_overlap = 0;

    // number of depletants inserted
    unsigned int n_inserted = 0;

    unsigned int n_free_volume = 0;

    Shape shape_test(quat<Scalar>(), s_params[depletant_type]);


            {
            overlap_checks++;

            // increase overlap count
            if (master && overlap)
                {
                atomicAdd((unsigned int *)&d_overlap_cell[active_cell_idx], 1);
                }
            }
        } // end loop over depletants
