diff --git a/src/libnptm/clu_subs.cpp b/src/libnptm/clu_subs.cpp
index 72cac9914a8d1d61a6f67e93783871476f03ea21..744eae869b77731a46f8635b6deeddf3cbc318c9 100644
--- a/src/libnptm/clu_subs.cpp
+++ b/src/libnptm/clu_subs.cpp
@@ -834,8 +834,8 @@ void hjv(
   const int rfj_size = (lit > lmt) ? lit : lmt;
   const int rfn_size = c4->litpo;
   double *rfj, *rfn;
-  rfj = new double[rfj_size]();
-  rfn = new double[rfn_size]();
+  rfj = new double[rfj_size+1]();
+  rfn = new double[rfn_size+1]();
   jer = 0;
   int ivhb = 0;
   for (int nf40 = 1; nf40 <= nsphmo; nf40++) { // GPU portable?
diff --git a/src/libnptm/sph_subs.cpp b/src/libnptm/sph_subs.cpp
index 72f8cb1024912d78193dedbb3d71467e8e35de53..f3a7d54d569085df555ad3443440ebb3cc1b840c 100644
--- a/src/libnptm/sph_subs.cpp
+++ b/src/libnptm/sph_subs.cpp
@@ -668,7 +668,7 @@ void rbf(int n, double x, int &nm, double sj[]) {
   double abs_sb = (sb < 0.0) ? -sb : sb;
   if (abs_sa > abs_sb) cs = sa / f;
   else cs = sb / f0;
-  for (int k = 0; k <= nm; k++) {
+  for (int k = 0; k <= nm ; k++) {
     sj[k] = cs * sj[k];
   }
 }