diff --git a/AMDiS/src/AMDiS.h b/AMDiS/src/AMDiS.h
index 8af56d6fee94741ed057c67b6ea1c8d3a83cacac..0b08c5117213e8a742e0064848faf48ef9f2874d 100644
--- a/AMDiS/src/AMDiS.h
+++ b/AMDiS/src/AMDiS.h
@@ -94,6 +94,7 @@
 #include "Traverse.h"
 #include "Triangle.h"
 #include "ValueWriter.h"
+#include "VtkWriter.h"
 #include "demangle.h"
 #include "parareal/ProblemBase.h"
 #include "parareal/AdaptParaReal.h"
diff --git a/AMDiS/src/AdaptInstationary.cc b/AMDiS/src/AdaptInstationary.cc
index b989a83f225781ec3f332f6cff5760a4bb89b986..eca9783c979d80b317e4e0ab3282c0362ddc537e 100644
--- a/AMDiS/src/AdaptInstationary.cc
+++ b/AMDiS/src/AdaptInstationary.cc
@@ -113,37 +113,49 @@ namespace AMDiS {
       adaptInfo_->incTimestepIteration();
 
       if (!fixedTimestep_ && 
-	 !adaptInfo_->timeToleranceReached() &&
-	 !adaptInfo_->getTimestep() <= adaptInfo_->getMinTimestep()) 
-	{
-	  adaptInfo_->setTime(adaptInfo_->getTime() - adaptInfo_->getTimestep());
-	  adaptInfo_->setTimestep(adaptInfo_->getTimestep() * time_delta_1);
-	  continue;
-	}
+	  !adaptInfo_->timeToleranceReached() &&
+	  !adaptInfo_->getTimestep() <= adaptInfo_->getMinTimestep()) {
+
+	adaptInfo_->setTime(adaptInfo_->getTime() - adaptInfo_->getTimestep());
+	adaptInfo_->setTimestep(adaptInfo_->getTimestep() * time_delta_1);
+	continue;
+      }
 
       adaptInfo_->setSpaceIteration(0);
+
+
+      /* === Do only space iterations only if the maximum is higher than 0. === */
+
+      if (adaptInfo_->getMaxSpaceIteration() > 0) {
     
-      do {
-	problemIteration_->beginIteration(adaptInfo_);
-
-	if (problemIteration_->oneIteration(adaptInfo_, FULL_ITERATION)) {
-	  if (!fixedTimestep_ && 
-	     !adaptInfo_->timeToleranceReached() &&
-	     !adaptInfo_->getTimestep() <= adaptInfo_->getMinTimestep()) 
-	    {
-	      adaptInfo_->setTime(adaptInfo_->getTime() - adaptInfo_->getTimestep());
-	      adaptInfo_->setTimestep(adaptInfo_->getTimestep() * time_delta_1);
-	      problemIteration_->endIteration(adaptInfo_);
-	      adaptInfo_->incSpaceIteration();
-	      break;
-	    }	
-	}
+	/* === Space iterations === */
+	do {
+	  problemIteration_->beginIteration(adaptInfo_);
+	  
+	  if (problemIteration_->oneIteration(adaptInfo_, FULL_ITERATION)) {
+	    if (!fixedTimestep_ && 
+		!adaptInfo_->timeToleranceReached() &&
+		!adaptInfo_->getTimestep() <= adaptInfo_->getMinTimestep()) 
+	      {
+		adaptInfo_->setTime(adaptInfo_->getTime() - adaptInfo_->getTimestep());
+		adaptInfo_->setTimestep(adaptInfo_->getTimestep() * time_delta_1);
+		problemIteration_->endIteration(adaptInfo_);
+		adaptInfo_->incSpaceIteration();
+		break;
+	      }	
+	  }
+
+	  adaptInfo_->incSpaceIteration();
+	  problemIteration_->endIteration(adaptInfo_);
+	  
+	} while(!adaptInfo_->spaceToleranceReached() && 
+		adaptInfo_->getSpaceIteration() <= adaptInfo_->getMaxSpaceIteration());
 
-	adaptInfo_->incSpaceIteration();
+      } else {
 	problemIteration_->endIteration(adaptInfo_);
+      }
+
 
-      } while(!adaptInfo_->spaceToleranceReached() && 
-	      adaptInfo_->getSpaceIteration() <= adaptInfo_->getMaxSpaceIteration());
     } while(!adaptInfo_->timeToleranceReached() &&
 	    !adaptInfo_->getTimestep() <= adaptInfo_->getMinTimestep() && 
 	    adaptInfo_->getTimestepIteration() <= adaptInfo_->getMaxTimestepIteration());  
diff --git a/AMDiS/src/Traverse.cc b/AMDiS/src/Traverse.cc
index b54d11d512942fc39d243c1da8766e14be329ba2..6d1c61701049a79cf0929660846287e21add1bea 100644
--- a/AMDiS/src/Traverse.cc
+++ b/AMDiS/src/Traverse.cc
@@ -869,10 +869,11 @@ namespace AMDiS {
 
   ElInfo* TraverseStack::traverseNeighbour2d(ElInfo* elinfo_old, int neighbour)
   {
-    FUNCNAME("TraverseStack::traverseNeighbour2d");
-    Triangle   *el, *el2, *sav_el;
+    FUNCNAME("TraverseStack::traverseNeighbour2d()");
+
+    Triangle *el, *el2, *sav_el;
     ElInfo *old_elinfo, *elinfo, *elinfo2;
-    int     i, nb, opp_vertex, stack2_used;
+    int i, nb, opp_vertex, stack2_used;
 
     static int coarse_nb[3][3] = {{-2,-2,-2}, {2,-1,1}, {-1,2,0}};
     /* father.neigh[coarse_nb[i][j]] == child[i-1].neigh[j] */