diff --git a/src/core/ActionPilot.cpp b/src/core/ActionPilot.cpp
index 539e1d7ed00b8b019a6749cc9befba7771649f9f..4d2fdf15308ae5515e649a5d7bdef582619763c9 100644
--- a/src/core/ActionPilot.cpp
+++ b/src/core/ActionPilot.cpp
@@ -32,7 +32,7 @@ Action(ao),
 stride(1)
 {
   parse("STRIDE",stride);
-  log.printf("  with stride %d\n",stride);
+  if( !keywords.style("STRIDE","hidden") ) log.printf("  with stride %d\n",stride);
 }
 
 bool ActionPilot::onStep()const{
diff --git a/src/gridtools/ActionWithInputGrid.cpp b/src/gridtools/ActionWithInputGrid.cpp
index 802efa9b8d8d37e7439913549ec82ec3a9449136..a972fc44a1ae551349c1ed9122b496eb479374b1 100644
--- a/src/gridtools/ActionWithInputGrid.cpp
+++ b/src/gridtools/ActionWithInputGrid.cpp
@@ -80,10 +80,8 @@ mygrid(NULL)
 }
 
 void ActionWithInputGrid::setAnalysisStride( const bool& use_all, const unsigned& astride ){
-  single_run=use_all;
-  if( !single_run ){
-     setStride( astride ); mves->setAnalysisStride( false, getStride() );
-  }
+  single_run=use_all; mves->setAnalysisStride( use_all, astride );
+  if( !single_run ) setStride( astride ); 
 }
 
 void ActionWithInputGrid::update(){
diff --git a/src/gridtools/ConvertToFES.cpp b/src/gridtools/ConvertToFES.cpp
index d70170a86a73ce26c511f64492c6bfc16fb8d882..05511a2a96a9b592745d72c7d394ed88a4fa09d7 100644
--- a/src/gridtools/ConvertToFES.cpp
+++ b/src/gridtools/ConvertToFES.cpp
@@ -73,7 +73,9 @@ ActionWithInputGrid(ao)
   Keywords keys; GridFunction::registerKeywords( keys );
   vesselbase::VesselOptions dar( da, keys );
   outgrid = new GridFunction(dar); addVessel( outgrid ); 
-  if( mygrid->noDerivatives() ) outgrid->setNoDerivatives();
+  if( mygrid->noDerivatives() ) outgrid->setNoDerivatives(); 
+  std::vector<double> fspacing;
+  outgrid->setBounds( mygrid->getMin(), mygrid->getMax(), mygrid->getNbin(), fspacing); 
   resizeFunctions();
 
   simtemp=0.; parse("TEMP",simtemp);
@@ -96,7 +98,7 @@ unsigned ConvertToFES::getNumberOfQuantities() const {
 
 void ConvertToFES::performOperationsWithGrid( const bool& from_update ){
   std::vector<double> fspacing;
-  outgrid->setBounds( mygrid->getMin(), mygrid->getMax(), mygrid->getNbin(), fspacing);
+  outgrid->setBounds( mygrid->getMin(), mygrid->getMax(), mygrid->getNbin(), fspacing); 
   outgrid->clear(); outgrid->setNorm( mygrid->getNorm() ); runAllTasks(); 
 }
 
diff --git a/src/gridtools/GridFunction.cpp b/src/gridtools/GridFunction.cpp
index 9dc4c2fb2a1c7ba100bc25dc3ec1d1a9d3a62b19..e8458fed0e03416da3833880af58ae6557d68caa 100644
--- a/src/gridtools/GridFunction.cpp
+++ b/src/gridtools/GridFunction.cpp
@@ -46,7 +46,7 @@ GridVessel(da)
 
 void GridFunction::calculate( const unsigned& current, MultiValue& myvals, std::vector<double>& buffer, std::vector<unsigned>& der_list ) const {
   plumed_dbg_assert( myvals.getNumberOfValues()==(nper+1) );
-  for(unsigned i=0;i<myvals.getNumberOfValues();++i) buffer[bufstart + nper*current + i] += myvals.get(i+1);
+  for(unsigned i=0;i<nper;++i) buffer[bufstart + nper*current + i] += myvals.get(i+1);
   return;
 }