diff --git a/install.sh b/install.sh
index 94d4751521d190bb0cec0e69f554c9453f38df02..426f76b267a2b734ba654bcbd7c2e56384652f44 100755
--- a/install.sh
+++ b/install.sh
@@ -34,7 +34,7 @@ echo "Installing to ${install_dir}"
 START=${PWD}
 cd src
 autoreconf --verbose --force --install --make
-./configure --prefix ${install_dir} CFLAGS="-Wno-format-truncation"
+./configure --prefix ${install_dir} CFLAGS="-Wno-format-truncation -g -O3"
 make install
 cd ${START}
 
diff --git a/src/BayesLine.c b/src/BayesLine.c
index c73d079975ca1461da6ea9029ff641e4d3dfe162..601e670239b750e1ff2e6d55efd4fafb3e340a63 100644
--- a/src/BayesLine.c
+++ b/src/BayesLine.c
@@ -504,7 +504,7 @@ void create_dataParams(dataParams *data, double *f, int n)
   data->nmin = (int)(f[0]*data->Tobs);
 
   // the stencil separation in Hz for the spline model. Going below 2 Hz is dangerous - will fight with line model
-  data->fgrid = data->fstep/2.;//15.0;//FSTEP;///4;//4.0;//FSTEP;
+  data->fgrid = 4.0;//data->fstep/2.;//15.0;//FSTEP;///4;//4.0;//FSTEP;
 }
 
 void create_lorentzianParams(lorentzianParams *lines, int size)
@@ -2547,14 +2547,24 @@ void blstart(double *data, double *residual, int N, double dt, double fmin, int
   // make sure that the last point is at or below fmax
   f = fmin+(double)(Nspline-1)*fsp;
   k = (int)(rint(f*Tobs));
-  if(k > N/2-1) Nspline = Nspline-1;
+  //if(k > N/2-1) Nspline = Nspline-1;
   
-  for (i = 0; i < Nspline; ++i)
+  for (i = 0; i < Nspline-1; ++i)
   {
     f = fmin+(double)(i)*fsp;
     k = (int)(rint(f*Tobs));
-    pspline[i] = (double)(k)/Tobs;
-    dspline[i] = log(sspecD[k]*fac);
+    
+    //catch k going out of bounds
+    if(k<N/2)
+    {
+      pspline[i] = (double)(k)/Tobs;
+      dspline[i] = log(sspecD[k]*fac);
+    }
+    else
+    {
+      pspline[i] = (double)(N/2-1)/Tobs;
+      dspline[i] = log(sspecD[N/2-1]*fac);
+    }
   }
   dspline[Nspline-1] = dspline[Nspline-2];
   
diff --git a/src/BayesWaveModel.c b/src/BayesWaveModel.c
index 7bf8851f93ea21c8e336c92e99556f91bc46064c..a3a2b008d2a2f9f34acfd739bbc6d895722d42e5 100644
--- a/src/BayesWaveModel.c
+++ b/src/BayesWaveModel.c
@@ -896,7 +896,7 @@ void initialize_bayesline(struct BayesLineParams **bayesline, struct Data *data,
 {
   int i,ifo;
 
-  int N    = (int)(data->Tobs*(data->fmax-data->fmin))+1;
+  int N    = (int)(data->Tobs*(data->fmax-data->fmin));
   int imin = (int)(data->Tobs*data->fmin);
 
   for(ifo=0; ifo<data->NI; ifo++)