diff --git a/src/analysis/Histogram.cpp b/src/analysis/Histogram.cpp
index 87b4d2002920370ec2e6421094352edfcea70874..53c09e374f024c1574d4bd4b09060b9e312f1e8c 100644
--- a/src/analysis/Histogram.cpp
+++ b/src/analysis/Histogram.cpp
@@ -186,7 +186,6 @@ PLUMED_REGISTER_ACTION(Histogram,"HISTOGRAM")
 void Histogram::registerKeywords( Keywords& keys ){
   gridtools::ActionWithGrid::registerKeywords( keys ); keys.use("ARG");
   keys.add("optional","DATA","input data from action with vessel and compute histogram");
-  keys.add("compulsory","GRID_TYPE","flat","the type of grid on which to compute the histogram");
   keys.add("compulsory","GRID_MIN","the lower bounds for the grid");
   keys.add("compulsory","GRID_MAX","the upper bounds for the grid");
   keys.add("optional","GRID_BIN","the number of bins for the grid");
@@ -237,31 +236,26 @@ kernel(NULL)
   if( myvessels.size()>0 ) narg=myvessels.size();
 
   // Input of name and labels
-  std::string gtype; parse("GRID_TYPE",gtype);
-  std::string vstring="TYPE=" + gtype + " COMPONENTS=" + getLabel();
+  std::string vstring="COMPONENTS=" + getLabel();
   if( myvessels.size()>0 ){
      vstring += " COORDINATES=" + myvessels[0]->getLabel();
      for(unsigned i=1;i<myvessels.size();++i) vstring +="," + myvessels[i]->getLabel();
      // Input for PBC
-     if( gtype=="flat" ){
-         if( myvessels[0]->isPeriodic() ) vstring+=" PBC=T";
-         else vstring+=" PBC=F";
-         for(unsigned i=1;i<myvessels.size();++i){
-             if( myvessels[i]->isPeriodic() ) vstring+=",T";
-             else vstring+=",F";
-         }
+     if( myvessels[0]->isPeriodic() ) vstring+=" PBC=T";
+     else vstring+=" PBC=F";
+     for(unsigned i=1;i<myvessels.size();++i){
+         if( myvessels[i]->isPeriodic() ) vstring+=",T";
+         else vstring+=",F";
      }
   } else {
      vstring += " COORDINATES=" + getPntrToArgument(0)->getName();
      for(unsigned i=1;i<getNumberOfArguments();++i) vstring += "," + getPntrToArgument(i)->getName();
      // Input for PBC
-     if( gtype=="flat" ){
-         if( getPntrToArgument(0)->isPeriodic() ) vstring+=" PBC=T";
-         else vstring+=" PBC=F";
-         for(unsigned i=1;i<getNumberOfArguments();++i){
-            if( getPntrToArgument(i)->isPeriodic() ) vstring+=",T";
-            else vstring+=",F";
-         }
+     if( getPntrToArgument(0)->isPeriodic() ) vstring+=" PBC=T";
+     else vstring+=" PBC=F";
+     for(unsigned i=1;i<getNumberOfArguments();++i){
+        if( getPntrToArgument(i)->isPeriodic() ) vstring+=",T";
+        else vstring+=",F";
      }
   }
   // And create the grid
diff --git a/src/gridtools/FindSphericalContour.cpp b/src/gridtools/FindSphericalContour.cpp
index ab104de8792973c57ba0309781ff6bac7af3513f..04a1ee8d44e6a350f6542c409bf7786f1aa7e74f 100644
--- a/src/gridtools/FindSphericalContour.cpp
+++ b/src/gridtools/FindSphericalContour.cpp
@@ -37,7 +37,6 @@ namespace gridtools {
 
 class FindSphericalContour : public ContourFindingBase {
 private:
-  int rnd;
   unsigned nbins;
   double min, max;
 public:
diff --git a/src/gridtools/GridVessel.cpp b/src/gridtools/GridVessel.cpp
index 4ed72bf1fb3c8d03da2fb417204f585a57f60956..a6f413cfbe9ad0d0b0aee3061bd7a1d9c14b3601 100644
--- a/src/gridtools/GridVessel.cpp
+++ b/src/gridtools/GridVessel.cpp
@@ -51,15 +51,8 @@ wasforced(false)
   std::vector<std::string> coordnames; parseVector("COORDINATES",coordnames);
   if( gtype==flat ){
       dimension=coordnames.size();
-      std::vector<std::string> spbc( dimension ); parseVector("PBC",spbc);
       str_min.resize( dimension);  str_max.resize( dimension ); stride.resize( dimension ); 
       max.resize( dimension ); dx.resize( dimension ); nbin.resize( dimension ); min.resize( dimension ); 
-       pbc.resize( dimension );
-       for(unsigned i=0;i<dimension;++i){
-           if( spbc[i]=="F" ) pbc[i]=false;
-           else if( spbc[i]=="T" ) pbc[i]=true;
-           else plumed_error();
-       }
   } else if( gtype==fibonacci ){
       if( coordnames.size()!=3 ) error("cannot generate fibonacci grid points on surface of sphere if not 3 input coordinates");
       dimension=3; 
@@ -72,6 +65,13 @@ wasforced(false)
       arg_names[n]=compnames[i]; n++;
       for(unsigned j=0;j<coordnames.size();++j){ arg_names[n] = "d" + compnames[i] + "_" + coordnames[j]; n++; }
   }
+  pbc.resize( dimension );
+  std::vector<std::string> spbc( dimension ); parseVector("PBC",spbc);
+  for(unsigned i=0;i<dimension;++i){
+      if( spbc[i]=="F" ) pbc[i]=false;
+      else if( spbc[i]=="T" ) pbc[i]=true;
+      else plumed_error();
+  }
 }
 
 void GridVessel::setNoDerivatives(){