diff --git a/src/descriptor_identifier/solver/SISSOSolver.cpp b/src/descriptor_identifier/solver/SISSOSolver.cpp
index dfc1fe33a4e0ff99d258dff8d710f705a9c2b3bc..dd580daaaa66bd84f860812951451eee96fa81d9 100644
--- a/src/descriptor_identifier/solver/SISSOSolver.cpp
+++ b/src/descriptor_identifier/solver/SISSOSolver.cpp
@@ -193,10 +193,11 @@ void SISSOSolver::l0_regularization_gpu(const int n_dim)
     EnumerateUniqueCombinations feature_combinations(_feat_space->phi_selected().size() - 1, n_dim);
     feature_combinations += _mpi_comm->rank();
 
+    std::vector<std::vector<int>> feature_indices;
     while (!feature_combinations.is_finished())
     {
         const size_t MAX_BATCH_SIZE = 4096;
-        std::vector<std::vector<int>> feature_indices;
+        feature_indices.clear();
         for (auto counter = 0; counter < MAX_BATCH_SIZE; ++counter)
         {
             if (feature_combinations.is_finished()) break;
diff --git a/src/loss_function/LossFunctionPearsonRMSEGPU.cpp b/src/loss_function/LossFunctionPearsonRMSEGPU.cpp
index 33d8ee699808c93d5c34ad6d635b83bec80c6e45..aae25f929624e8654871baf53833ac5fa60932a6 100644
--- a/src/loss_function/LossFunctionPearsonRMSEGPU.cpp
+++ b/src/loss_function/LossFunctionPearsonRMSEGPU.cpp
@@ -362,13 +362,11 @@ Kokkos::View<double*> LossFunctionPearsonRMSEGPU::operator()(
     int start = 0;
     for (int task_idx = 0; task_idx < _n_task; ++task_idx)
     {
-        Kokkos::deep_copy(_a, 1.0);
         set_a(_models, task_idx, start);
         set_b(task_idx, start);
         Kokkos::fence();
         least_squares(task_idx, start);
 
-        Kokkos::deep_copy(_a, 1.0);
         set_a(_models, task_idx, start);
         Kokkos::fence();
         set_prop_train_est(_estimated_training_properties, task_idx, start);