             {
             overlap_checks++;
 
-            if (!overlap)
-                {
-                // depletant not overlapping in old configuration
-                n_free_volume++;
-
-                vec3<Scalar> r_ij = pos_i - pos_test;
-                if (s_check_overlaps[overlap_idx(type_i, depletant_type)]
-                    && test_overlap(r_ij, shape_test, shape_i, err_count))
-                    {
-                    // increase overlap count
-                    if (master)
-                        {
-                        atomicAdd((unsigned int *)&d_overlap_cell[active_cell_idx], 1);
-                        n_overlap++;
-                        }
-                    }
+            // increase overlap count
+            if (master && overlap)
+                {
+                atomicAdd((unsigned int *)&d_overlap_cell[active_cell_idx], 1);
                 }
             }
         } // end loop over depletants

                shape_test.orientation = generateRandomOrientation(rng);
                }

            // check if depletant overlaps with the old configuration
            unsigned int excell_size = d_excell_size[my_cell];
            overlap_checks += excell_size;

            vec3<Scalar> r_ij;

            for (unsigned int k = 0; k < excell_size; k += group_size)
                {


    unsigned int overlap_checks = 0;

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

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

