                             && test_overlap(r_ij, shape_test, shape_j, err_count))
                             {
                             overlap = 1;
+                            break;
                             }
                         }
                     }
 
                 } // end loop over neighbors
 
-            overlap_checks++;
             }
 
         #if (__CUDA_ARCH__ >= 300)

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


            vec3<Scalar> r_ij;

            overlap_checks++;
            bool overlap_new = false;
                {
                // check depletant overlap with shape at new position
