diff --git a/src/KOKKOS/pair_reaxc_kokkos.cpp b/src/KOKKOS/pair_reaxc_kokkos.cpp
index 7a72a24e3b434d1f93fbef6d65ef5730c67569fd..9352d8367c441919accde7f5a2c286f739ac26cb 100644
--- a/src/KOKKOS/pair_reaxc_kokkos.cpp
+++ b/src/KOKKOS/pair_reaxc_kokkos.cpp
@@ -89,6 +89,17 @@ PairReaxCKokkos<DeviceType>::~PairReaxCKokkos()
   tmpid = NULL;
   memoryKK->destroy_kokkos(k_tmpbo,tmpbo);
   tmpbo = NULL;
+
+  // deallocate views of views in serial to prevent race condition in profiling tools
+
+  for (int i = 0; i < k_LR.extent(0); i++) {
+    for (int j = 0; j < k_LR.extent(1); j++) {
+      k_LR.h_view(i,j).d_vdW    = decltype(k_LR.h_view(i,j).d_vdW   )();
+      k_LR.h_view(i,j).d_CEvd   = decltype(k_LR.h_view(i,j).d_CEvd  )();
+      k_LR.h_view(i,j).d_ele    = decltype(k_LR.h_view(i,j).d_ele   )();
+      k_LR.h_view(i,j).d_CEclmb = decltype(k_LR.h_view(i,j).d_CEclmb)();
+    }
+  }
 }
 
 /* ---------------------------------------------------------------------- */
@@ -376,47 +387,31 @@ void PairReaxCKokkos<DeviceType>::init_md()
       for (int j = i; j <= ntypes; ++j) {
         int n = LR[i][j].n;
         if (n == 0) continue;
-        k_LR.h_view(i,j).xmin   = LR[i][j].xmin;
-        k_LR.h_view(i,j).xmax   = LR[i][j].xmax;
-        k_LR.h_view(i,j).n      = LR[i][j].n;
         k_LR.h_view(i,j).dx     = LR[i][j].dx;
         k_LR.h_view(i,j).inv_dx = LR[i][j].inv_dx;
-        k_LR.h_view(i,j).a      = LR[i][j].a;
-        k_LR.h_view(i,j).m      = LR[i][j].m;
-        k_LR.h_view(i,j).c      = LR[i][j].c;
 
-        typename LR_lookup_table_kk<DeviceType>::tdual_LR_data_1d           k_y      = typename LR_lookup_table_kk<DeviceType>::tdual_LR_data_1d("lookup:LR[i,j].y",n);
-        typename LR_lookup_table_kk<DeviceType>::tdual_cubic_spline_coef_1d k_H      = typename LR_lookup_table_kk<DeviceType>::tdual_cubic_spline_coef_1d("lookup:LR[i,j].H",n);
         typename LR_lookup_table_kk<DeviceType>::tdual_cubic_spline_coef_1d k_vdW    = typename LR_lookup_table_kk<DeviceType>::tdual_cubic_spline_coef_1d("lookup:LR[i,j].vdW",n);
         typename LR_lookup_table_kk<DeviceType>::tdual_cubic_spline_coef_1d k_CEvd   = typename LR_lookup_table_kk<DeviceType>::tdual_cubic_spline_coef_1d("lookup:LR[i,j].CEvd",n);
         typename LR_lookup_table_kk<DeviceType>::tdual_cubic_spline_coef_1d k_ele    = typename LR_lookup_table_kk<DeviceType>::tdual_cubic_spline_coef_1d("lookup:LR[i,j].ele",n);
         typename LR_lookup_table_kk<DeviceType>::tdual_cubic_spline_coef_1d k_CEclmb = typename LR_lookup_table_kk<DeviceType>::tdual_cubic_spline_coef_1d("lookup:LR[i,j].CEclmb",n);
 
-        k_LR.h_view(i,j).d_y      = k_y.template view<DeviceType>();
-        k_LR.h_view(i,j).d_H      = k_H.template view<DeviceType>();
         k_LR.h_view(i,j).d_vdW    = k_vdW.template view<DeviceType>();
         k_LR.h_view(i,j).d_CEvd   = k_CEvd.template view<DeviceType>();
         k_LR.h_view(i,j).d_ele    = k_ele.template view<DeviceType>();
         k_LR.h_view(i,j).d_CEclmb = k_CEclmb.template view<DeviceType>();
 
         for (int k = 0; k < n; k++) {
-          k_y.h_view(k)      = LR[i][j].y[k];
-          k_H.h_view(k)      = LR[i][j].H[k];
           k_vdW.h_view(k)    = LR[i][j].vdW[k];
           k_CEvd.h_view(k)   = LR[i][j].CEvd[k];
           k_ele.h_view(k)    = LR[i][j].ele[k];
           k_CEclmb.h_view(k) = LR[i][j].CEclmb[k];
         }
 
-        k_y.template modify<LMPHostType>();
-        k_H.template modify<LMPHostType>();
         k_vdW.template modify<LMPHostType>();
         k_CEvd.template modify<LMPHostType>();
         k_ele.template modify<LMPHostType>();
         k_CEclmb.template modify<LMPHostType>();
 
-        k_y.template sync<DeviceType>();
-        k_H.template sync<DeviceType>();
         k_vdW.template sync<DeviceType>();
         k_CEvd.template sync<DeviceType>();
         k_ele.template sync<DeviceType>();
@@ -1216,7 +1211,7 @@ void PairReaxCKokkos<DeviceType>::operator()(PairReaxComputeTabulatedLJCoulomb<N
 
     const int tmin  = MIN( itype, jtype );
     const int tmax  = MAX( itype, jtype );
-    const LR_lookup_table_kk<DeviceType> t = d_LR(tmin,tmax);
+    const LR_lookup_table_kk<DeviceType>& t = d_LR(tmin,tmax);
 
 
     /* Cubic Spline Interpolation */
diff --git a/src/KOKKOS/pair_reaxc_kokkos.h b/src/KOKKOS/pair_reaxc_kokkos.h
index f5a3220c9ab89a601b6b1fdf0b3b836fefb1d637..e69b80c2a7f5bcabdc982c2e133952def3910e1b 100644
--- a/src/KOKKOS/pair_reaxc_kokkos.h
+++ b/src/KOKKOS/pair_reaxc_kokkos.h
@@ -42,21 +42,11 @@ namespace LAMMPS_NS {
 template<class DeviceType>
 struct LR_lookup_table_kk
 {
-  typedef Kokkos::DualView<LR_data*,Kokkos::LayoutRight,DeviceType> tdual_LR_data_1d;
-  typedef typename tdual_LR_data_1d::t_dev t_LR_data_1d;
-
   typedef Kokkos::DualView<cubic_spline_coef*,Kokkos::LayoutRight,DeviceType> tdual_cubic_spline_coef_1d;
   typedef typename tdual_cubic_spline_coef_1d::t_dev t_cubic_spline_coef_1d;
 
-  double xmin, xmax;
-  int n;
   double dx, inv_dx;
-  double a;
-  double m;
-  double c;
 
-  t_LR_data_1d d_y;
-  t_cubic_spline_coef_1d d_H;
   t_cubic_spline_coef_1d d_vdW, d_CEvd;
   t_cubic_spline_coef_1d d_ele, d_CEclmb;
 };
diff --git a/src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi b/src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi
index 54122c1b19811665de75b321cb1ec4dc7fb47d22..d6c5c566aa5e07f67c7c09429a1ca78a9ba903f4 100644
--- a/src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi
+++ b/src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi
@@ -23,7 +23,7 @@ ARCHIVE =	ar
 ARFLAGS =	-rc
 SHLIBFLAGS =	-shared
 KOKKOS_DEVICES = Cuda
-KOKKOS_ARCH =   Kepler35
+KOKKOS_ARCH = Kepler35
 
 # ---------------------------------------------------------------------
 # LAMMPS-specific settings, all OPTIONAL