diff --git a/src/gridtools/ActionWithInputGrid.cpp b/src/gridtools/ActionWithInputGrid.cpp
index 50caa9c8d09dd2f046861ef4fb3e962f965117db..802efa9b8d8d37e7439913549ec82ec3a9449136 100644
--- a/src/gridtools/ActionWithInputGrid.cpp
+++ b/src/gridtools/ActionWithInputGrid.cpp
@@ -66,7 +66,7 @@ mygrid(NULL)
      if( tcomp<0 ) error("component of vector field was not specified - use COMPONENT keyword");
      mycomp=tcomp;
   }
-  log.printf("  using %dth component of grid calculated by action %s \n",mycomp,mves->getLabel().c_str() );
+  log.printf("  using %uth component of grid calculated by action %s \n",mycomp,mves->getLabel().c_str() );
 
   if( keywords.exists("USE_ALL_DATA") ){
      parseFlag("USE_ALL_DATA",single_run);
diff --git a/src/gridtools/FindContour.cpp b/src/gridtools/FindContour.cpp
index 6a041d5f0046e44972d445b0922142e90b2cd62c..fd3982d52f24f6bc3958f3359fb0e11f59dbe14f 100644
--- a/src/gridtools/FindContour.cpp
+++ b/src/gridtools/FindContour.cpp
@@ -92,7 +92,7 @@ outgrid(NULL)
 
   parse("CONTOUR",contour); parse("BUFFER",gbuffer);
   log.printf("  calculating dividing surface along which function equals %f \n", contour);
-  if( gbuffer>0 ) log.printf("  after first step a subset of only %d grid points around where the countour was found will be checked\n",gbuffer);
+  if( gbuffer>0 ) log.printf("  after first step a subset of only %u grid points around where the countour was found will be checked\n",gbuffer);
 
   parseFlag("BUILD_GRID",usegrid);
   std::string searchdir_str; parse("SEARCHDIR",searchdir_str);
@@ -105,14 +105,14 @@ outgrid(NULL)
      if( usegrid && searchdirs.size()>1 ) error("searching for grid is incompatible can only be done if you are searching in one direction");
      nosearch_dirs.assign( nosearch_dirs.size(), true );
      unsigned nn; Tools::convert(searchdirs[0],nn); nosearch_dirs[nn-1]=false;
-     log.printf("  searching for contour along %d", nn);
+     log.printf("  searching for contour along %u", nn);
      for(unsigned i=1;i<searchdirs.size()-1;++i){
          Tools::convert(searchdirs[i],nn); 
-         nosearch_dirs[nn-1]=false; log.printf(", %d",nn);
+         nosearch_dirs[nn-1]=false; log.printf(", %u",nn);
      }
      if( searchdirs.size()>1 ){ 
          Tools::convert(searchdirs[searchdirs.size()-1],nn); 
-         nosearch_dirs[nn-1]=false; log.printf(" and %d directions \n",nn);
+         nosearch_dirs[nn-1]=false; log.printf(" and %u directions \n",nn);
      } else log.printf(" direction \n");
   }
 
diff --git a/src/gridtools/FindSphericalContour.cpp b/src/gridtools/FindSphericalContour.cpp
index 52c0d52a5a446420d5e66291894bdcc177f78a7f..e449a929e7e25578245f2ffe2b704d3b777a2255 100644
--- a/src/gridtools/FindSphericalContour.cpp
+++ b/src/gridtools/FindSphericalContour.cpp
@@ -82,7 +82,7 @@ ActionWithInputGrid(ao)
   if( mygrid->noDerivatives() ) error("cannot find contours if input grid has no derivatives");
 
   parse("NPOINTS",npoints);
-  log.printf("  searching for %d points on dividing surface \n");
+  log.printf("  searching for %u points on dividing surface \n");
   parse("CONTOUR",contour); 
   log.printf("  calculating dividing surface along which function equals %f \n", contour);
   parse("INNER_RADIUS",min); parse("OUTER_RADIUS",max); parse("NBINS",nbins);
diff --git a/src/gridtools/FourierTransform.cpp b/src/gridtools/FourierTransform.cpp
index 63087090d3f67534d538bfcc09225811117dac60..1d51b4c9d958f978b37874d3d82dae88ebf91aab 100644
--- a/src/gridtools/FourierTransform.cpp
+++ b/src/gridtools/FourierTransform.cpp
@@ -32,7 +32,7 @@
 namespace PLMD {
 namespace gridtools {
 
-//+PLUMEDOC ANALYSYS FOURIER_TRANSFORM
+//+PLUMEDOC GRIDANALYSIS FOURIER_TRANSFORM
 /*
 Compute the Discrete Fourier Transform (DFT) by means of FFTW of data stored on a 2D grid. This action can operate on any other action that outputs scalar data on a two-dimensional grid.
 
diff --git a/src/gridtools/GridVessel.cpp b/src/gridtools/GridVessel.cpp
index ff614df739fb0fd16779c4539656a4cf6923fe7f..3925fb797ab000bc5aced516feb2f821b0c47e27 100644
--- a/src/gridtools/GridVessel.cpp
+++ b/src/gridtools/GridVessel.cpp
@@ -223,11 +223,11 @@ void GridVessel::setGridElement( const std::vector<unsigned>& indices, const uns
 }
 
 std::vector<std::string> GridVessel::getMin() const {
-  plumed_dbg_assert( bounds_set ); return str_min;
+  return str_min;
 }
   
 std::vector<std::string> GridVessel::getMax() const {
-  plumed_dbg_assert( bounds_set ); return str_max;
+  return str_max;
 }
 
 std::vector<unsigned> GridVessel::getNbin() const {
diff --git a/src/multicolvar/CenterOfMultiColvar.cpp b/src/multicolvar/CenterOfMultiColvar.cpp
index e6464ade42708bfa3defb06c918f69745f08af01..b199a4b190dc59be03afd6217dadcf05d8df4645 100644
--- a/src/multicolvar/CenterOfMultiColvar.cpp
+++ b/src/multicolvar/CenterOfMultiColvar.cpp
@@ -211,7 +211,8 @@ void CenterOfMultiColvar::calculate(){
   std::vector<Tensor> fderiv( getNumberOfAtoms() );
   for(unsigned j=0;j<getNumberOfAtoms();++j){
       for(unsigned k=0;k<3;++k){
-          for(unsigned n=0;n<3;++n) fderiv[j](k,n) = myvals.getDerivative( 1+n, 3*j+k ); 
+          if( myvals.isActive(3*j+k) ) for(unsigned n=0;n<3;++n) fderiv[j](k,n) = myvals.getDerivative( 1+n, 3*j+k ); 
+          else for(unsigned n=0;n<3;++n) fderiv[j](k,n) = 0;
       } 
   }
   setAtomsDerivatives( fderiv );
diff --git a/src/multicolvar/MultiColvarDensity.cpp b/src/multicolvar/MultiColvarDensity.cpp
index 55fedeed170a97f08d6541d9d2573c0a7c5406c8..005333bc51cff7e30dba3060756adac4237420d8 100644
--- a/src/multicolvar/MultiColvarDensity.cpp
+++ b/src/multicolvar/MultiColvarDensity.cpp
@@ -101,7 +101,6 @@ class MultiColvarDensity :
 {
   std::string kerneltype;
   bool nomemory, fractional, single_run;
-  unsigned rstride;
   MultiColvarBase* mycolv;
   std::vector<unsigned> nbins;
   std::vector<double> gspacing;
diff --git a/src/vesselbase/ActionWithVessel.cpp b/src/vesselbase/ActionWithVessel.cpp
index b1df3ea5cee377621e53ef599044a591b54a051c..876f89757b79a0d889c08f9f172b80c0384742b0 100644
--- a/src/vesselbase/ActionWithVessel.cpp
+++ b/src/vesselbase/ActionWithVessel.cpp
@@ -350,7 +350,7 @@ void ActionWithVessel::calculateAllVessels( const unsigned& taskCode, MultiValue
       // Calculate returns a bool that tells us if this particular
       // quantity is contributing more than the tolerance
       functions[j]->calculate( taskCode, functions[j]->transformDerivatives(taskCode, myvals, bvals), buffer, der_list );
-      if( !actionIsBridged && bvals.getNumberActive()>0 ) bvals.clearAll(); 
+      if( !actionIsBridged ) bvals.clearAll(); 
   }
   return;
 }