diff --git a/apps/benchmarks/GranularGas/sortParticleStorage.cpp b/apps/benchmarks/GranularGas/sortParticleStorage.cpp
index 3b9f2494c7d97e7042d0118e553e3a7221ee1d90..df16d65abb6ac74e19f45d1b051277be325102a5 100644
--- a/apps/benchmarks/GranularGas/sortParticleStorage.cpp
+++ b/apps/benchmarks/GranularGas/sortParticleStorage.cpp
@@ -54,7 +54,12 @@ void sortParticleStorage( data::ParticleStorage& ps,
    }
    if( algorithm == "hilbert" )
    {
-      sorting::HilbertCompareFunctor hilbert(domain, 1ul << math::uintMSBPosition(cells));
+      auto tmp = uint_t(1) << math::uintMSBPosition(cells);
+      if (tmp!=cells)
+      {
+         tmp <<= 1;
+      }
+      sorting::HilbertCompareFunctor hilbert(domain, tmp);
       ps.sort(hilbert);
       return;
    }