diff --git a/AMDiS/src/Functors.h b/AMDiS/src/Functors.h
index d2f764cf33fe92c2d8398b2b8f7e787bfce9053c..6855d1546ce4e5a523a8674a1563b4cb982af85b 100644
--- a/AMDiS/src/Functors.h
+++ b/AMDiS/src/Functors.h
@@ -261,6 +261,24 @@ struct FadeOut : public TertiaryAbstractFunction<double, double, double ,double>
     return dist*mean+(1.0-dist)*v;
   }
 };
+
+struct Random : public AbstractFunction<double, WorldVector<double> >
+{
+  Random(double mean_, double amplitude_) : mean(mean_), amplitude(amplitude_)
+  {
+    std::srand(time(NULL));
+  }
+  
+  double operator()(const WorldVector<double> &x) const
+  {
+    return mean + amplitude * ((std::rand() / static_cast<double>(RAND_MAX)) - 0.5);
+  }
+  
+private:
+  double mean;
+  double amplitude;
+};
+
 }
 
 #endif // AMDIS_FUNCTORS_H
diff --git a/AMDiS/src/ProblemStat.cc b/AMDiS/src/ProblemStat.cc
index 90bba9295e32329bd9f62fae96fd075325d4cc06..92e71c1773c876d256853e18ebcecdb34ffa53de 100644
--- a/AMDiS/src/ProblemStat.cc
+++ b/AMDiS/src/ProblemStat.cc
@@ -746,9 +746,7 @@ namespace AMDiS {
   void ProblemStatSeq::buildAfterCoarsen(AdaptInfo *adaptInfo, Flag flag,
 					 bool asmMatrix, bool asmVector)
   {
-#ifdef HAVE_PARALLEL_DOMAIN_AMDIS
     FUNCNAME("ProblemStat::buildAfterCoarsen()");
-#endif
 
     if (dualMeshTraverseRequired()) {
 #ifdef HAVE_PARALLEL_DOMAIN_AMDIS