diff --git a/src/KOKKOS/pair_reaxc_kokkos.cpp b/src/KOKKOS/pair_reaxc_kokkos.cpp
index d5f83f45373d9e4d32d6032f0fe343489077e885..1131cb787fc2e5e1978803a39336a10900ac001f 100644
--- a/src/KOKKOS/pair_reaxc_kokkos.cpp
+++ b/src/KOKKOS/pair_reaxc_kokkos.cpp
@@ -1448,6 +1448,8 @@ void PairReaxCKokkos<DeviceType>::operator()(PairReaxBuildListsFull, const int &
       }
     }
 
+    if (rsq > cut_bosq) continue;
+
     // bond_list
     const F_FLOAT rij = sqrt(rsq);
     const F_FLOAT p_bo1 = paramstwbp(itype,jtype).p_bo1;
@@ -1635,6 +1637,8 @@ void PairReaxCKokkos<DeviceType>::operator()(PairReaxBuildListsHalf<NEIGHFLAG>,
       }
     }
 
+    if (rsq > cut_bosq) continue;
+
     // bond_list
     const F_FLOAT rij = sqrt(rsq);
     const F_FLOAT p_bo1 = paramstwbp(itype,jtype).p_bo1;
@@ -1856,6 +1860,8 @@ void PairReaxCKokkos<DeviceType>::operator()(PairReaxBuildListsHalf_LessAtomics<
       }
     }
 
+    if (rsq > cut_bosq) continue;
+
     // bond_list
     const F_FLOAT rij = sqrt(rsq);
     const F_FLOAT p_bo1 = paramstwbp(itype,jtype).p_bo1;
diff --git a/src/USER-OMP/reaxc_forces_omp.cpp b/src/USER-OMP/reaxc_forces_omp.cpp
index 6fec7a7e4d614a1c50306d528bce63af8255df13..321d104b00921e9af51f691191fad4402aea0213 100644
--- a/src/USER-OMP/reaxc_forces_omp.cpp
+++ b/src/USER-OMP/reaxc_forces_omp.cpp
@@ -601,44 +601,17 @@ void Compute_ForcesOMP( reax_system *system, control_params *control,
   MPI_Comm comm = mpi_data->world;
 
   // Init Forces
-#if defined(LOG_PERFORMANCE)
-  double t_start = 0;
-  if( system->my_rank == MASTER_NODE )
-    t_start = Get_Time( );
-#endif
-
   Init_Forces_noQEq_OMP( system, control, data, workspace,
-			 lists, out_control, comm );
-
-#if defined(LOG_PERFORMANCE)
-  //MPI_Barrier( comm );
-  if( system->my_rank == MASTER_NODE )
-    Update_Timing_Info( &t_start, &(data->timing.init_forces) );
-#endif
+                      lists, out_control, comm );
 
   // Bonded Interactions
   Compute_Bonded_ForcesOMP( system, control, data, workspace,
                          lists, out_control, mpi_data->world );
 
-#if defined(LOG_PERFORMANCE)
-  if( system->my_rank == MASTER_NODE )
-    Update_Timing_Info( &t_start, &(data->timing.bonded) );
-#endif
-
   // Nonbonded Interactions
   Compute_NonBonded_ForcesOMP( system, control, data, workspace,
                             lists, out_control, mpi_data->world );
 
-#if defined(LOG_PERFORMANCE)
-  if( system->my_rank == MASTER_NODE )
-    Update_Timing_Info( &t_start, &(data->timing.nonb) );
-#endif
-
   // Total Force
   Compute_Total_ForceOMP( system, control, data, workspace, lists, mpi_data );
-
-#if defined(LOG_PERFORMANCE)
-  if( system->my_rank == MASTER_NODE )
-    Update_Timing_Info( &t_start, &(data->timing.bonded) );
-#endif
 }
diff --git a/src/USER-REAXC/pair_reaxc.cpp b/src/USER-REAXC/pair_reaxc.cpp
index 0f4bd49cc855c7e78cc4cd69b3c66b69964b572f..7c135463add0c68cc3a7fb2a036a601bf75c7928 100644
--- a/src/USER-REAXC/pair_reaxc.cpp
+++ b/src/USER-REAXC/pair_reaxc.cpp
@@ -697,7 +697,7 @@ int PairReaxC::write_reax_lists()
   int itr_i, itr_j, i, j;
   int num_nbrs;
   int *ilist, *jlist, *numneigh, **firstneigh;
-  double d_sqr;
+  double d_sqr, cutoff_sqr;
   rvec dvec;
   double *dist, **x;
   reax_list *far_nbrs;
@@ -712,6 +712,7 @@ int PairReaxC::write_reax_lists()
   far_list = far_nbrs->select.far_nbr_list;
 
   num_nbrs = 0;
+  int inum = list->inum;
   dist = (double*) calloc( system->N, sizeof(double) );
 
   int numall = list->inum + list->gnum;
@@ -721,12 +722,17 @@ int PairReaxC::write_reax_lists()
     jlist = firstneigh[i];
     Set_Start_Index( i, num_nbrs, far_nbrs );
 
+    if (i < inum)
+      cutoff_sqr = control->nonb_cut*control->nonb_cut;
+    else
+      cutoff_sqr = control->bond_cut*control->bond_cut;
+
     for( itr_j = 0; itr_j < numneigh[i]; ++itr_j ){
       j = jlist[itr_j];
       j &= NEIGHMASK;
       get_distance( x[j], x[i], &d_sqr, &dvec );
 
-      if( d_sqr <= (control->nonb_cut*control->nonb_cut) ){
+      if( d_sqr <= (cutoff_sqr) ){
         dist[j] = sqrt( d_sqr );
         set_far_nbr( &far_list[num_nbrs], j, dist[j], dvec );
         ++num_nbrs;