             // and as long as no overlaps have been found
 
             // every thread can add at most one element to the neighbor list
-            while (!s_early_exit_group[group] && s_queue_size < max_queue_size && (k >> 1) < excell_size)
+            while (s_queue_size < max_queue_size && (k >> 1) < excell_size)
                 {
                 // build some shapes, but we only need them to get diameters, so don't load orientations
                 // build shape i from shared memory

            __syncthreads();
            if (master && group == 0)
                s_queue_size = 0;
            if (active && !s_reject && (k>>1) < excell_size)
                atomicAdd(&s_still_searching, 1);
            __syncthreads();


                                     const Index3D ci,
                                     const unsigned int N_old,
                                     const unsigned int N_new,
                                     const unsigned int num_types,
                                     const unsigned int seed,
                                     const unsigned int *d_check_overlaps,
