diff --git a/src/gridtools/HistogramOnGrid.cpp b/src/gridtools/HistogramOnGrid.cpp
index b555381366eed26322e7660686ce88a2024a0d17..b0dcd9d99f535850f6d87d5fd855181d7de69190 100644
--- a/src/gridtools/HistogramOnGrid.cpp
+++ b/src/gridtools/HistogramOnGrid.cpp
@@ -61,7 +61,10 @@ void HistogramOnGrid::setBounds( const std::vector<std::string>& smin, const std
   if( !discrete ){ 
       std::vector<double> point(dimension,0);
       KernelFunctions kernel( point, bandwidths, kerneltype, false, 1.0, true );
-      nneigh=kernel.getSupport( dx );
+      nneigh=kernel.getSupport( dx ); std::vector<double> support( kernel.getContinuousSupport() );
+      for(unsigned i=0;i<dimension;++i){
+          if( pbc[i] && 2*support[i]>getGridExtent(i) ) error("bandwidth is too large for periodic grid");
+      } 
   }
 }