diff --git a/src/adp/adp.c b/src/adp/adp.c
index 13f1c47675f2e6e521ea32123cc7e0f5158a5a90..962aaba50bb8150f0727f647748463fc849f66ab 100644
--- a/src/adp/adp.c
+++ b/src/adp/adp.c
@@ -737,9 +737,12 @@ clusters_t Heuristic1(global_context_t *ctx)
     MPI_Win_create(to_remove_mask, n * sizeof(heap_node), 1, MPI_INFO_NULL, ctx -> mpi_communicator, &win_to_remove_mask);
     MPI_Win_fence(0, win_to_remove_mask);
 
-    MPI_Win win_locks;
-    MPI_Win_create(lock_array, n * sizeof(lock_t), sizeof(lock_t), MPI_INFO_NULL, ctx -> mpi_communicator, &win_locks);
-    MPI_Win_fence(0, win_locks);
+    //MPI_Win win_locks;
+    //MPI_Win_create(lock_array, n * sizeof(lock_t), sizeof(lock_t), MPI_INFO_NULL, ctx -> mpi_communicator, &win_locks);
+    //MPI_Win_fence(0, win_locks);
+
+    //MPI_Win_lock_all(MPI_LOCK_SHARED, win_to_remove_mask);
+    //MPI_Win_lock_all(MPI_LOCK_SHARED, win_locks);
 
 
 
@@ -765,33 +768,39 @@ clusters_t Heuristic1(global_context_t *ctx)
                  * use an array of locks, and compare and swap to actually gain control of the thing
                  *
                  * */
-                int owner = foreign_owner(ctx, jidx);
-                idx_t jpos = jidx - ctx -> rank_idx_start[owner];
+                /*
+                #pragma omp critical
+                {
 
-                lock_t state = LOCK_FREE;
+                    int owner = foreign_owner(ctx, jidx);
+                    idx_t jpos = jidx - ctx -> rank_idx_start[owner];
 
-                state = h1_lock_acquire(ctx, win_locks, owner, jpos, state);
+                    lock_t state = LOCK_FREE;
 
-                heap_node mask_element;
-                MPI_Request request;
-                MPI_Rget(&mask_element, sizeof(heap_node), MPI_BYTE, 
-                         owner, jpos * sizeof(heap_node), sizeof(heap_node), MPI_BYTE, win_to_remove_mask, &request);
-                MPI_Wait(&request, MPI_STATUS_IGNORE);
+                    //state = h1_lock_acquire(ctx, win_locks, owner, jpos, state);
 
-                int flag = mask_element.array_idx == MY_SIZE_MAX;							
-                if(flag || i_point.g > mask_element.value )
-                {
-                    heap_node tmp_mask_element = {.array_idx = i_point.array_idx, .value = i_point.g};
+                    heap_node mask_element;
                     MPI_Request request;
-                    MPI_Rput(&tmp_mask_element, sizeof(heap_node), MPI_BYTE, owner, 
-                            jpos*sizeof(heap_node), sizeof(heap_node), MPI_BYTE, win_to_remove_mask, &request);
+
+                    MPI_Rget(&mask_element, sizeof(heap_node), MPI_BYTE, 
+                            owner, jpos * sizeof(heap_node), sizeof(heap_node), MPI_BYTE, win_to_remove_mask, &request);
                     MPI_Wait(&request, MPI_STATUS_IGNORE);
 
-                }
+                    int flag = mask_element.array_idx == MY_SIZE_MAX;							
+                    if(flag || i_point.g > mask_element.value )
+                    {
+                        heap_node tmp_mask_element = {.array_idx = i_point.array_idx, .value = i_point.g};
+                        MPI_Request request;
+                        MPI_Rput(&tmp_mask_element, sizeof(heap_node), MPI_BYTE, owner, 
+                                jpos*sizeof(heap_node), sizeof(heap_node), MPI_BYTE, win_to_remove_mask, &request);
+                        MPI_Wait(&request, MPI_STATUS_IGNORE);
 
-                state = h1_lock_free(ctx, win_locks, owner, jpos, state);
+                    }
+
+                    //state = h1_lock_free(ctx, win_locks, owner, jpos, state);
+                }
+                */
 
-                /*
                 #pragma omp critical (h1_centers_elimination)
                 {
                     int owner = foreign_owner(ctx, jidx);
@@ -817,13 +826,12 @@ clusters_t Heuristic1(global_context_t *ctx)
 
                     MPI_Win_unlock(owner, win_to_remove_mask);
                 }
-                */
             }
         }
     }
     
     MPI_Win_fence(0, win_to_remove_mask);
-    MPI_Win_fence(0, win_locks);
+    //MPI_Win_fence(0, win_locks);
     MPI_Barrier(ctx -> mpi_communicator);
 
 	/* populate the usual arrays */
@@ -873,7 +881,7 @@ clusters_t Heuristic1(global_context_t *ctx)
     MPI_Win_free(&win_to_remove_mask);
 	free(to_remove_mask);
     
-    MPI_Win_free(&win_locks);
+    //MPI_Win_free(&win_locks);
 	free(lock_array);
 
     int n_centers = (int)actual_centers.count;