diff --git a/AMDiS/src/AdaptInfo.h b/AMDiS/src/AdaptInfo.h
index 498f8ba0b47ee760b219c43383a41fdc8333132f..b4878c78f27c3c297c3a0ec3aa74767e2a952430 100644
--- a/AMDiS/src/AdaptInfo.h
+++ b/AMDiS/src/AdaptInfo.h
@@ -135,6 +135,7 @@ namespace AMDiS {
 	startTime(0.0),
 	endTime(1.0),
 	timestep(0.0),
+	lastProcessedTimestep(0.0),
 	minTimestep(0.0),
 	maxTimestep(1.0),
 	timestepNumber(0),
@@ -189,6 +190,7 @@ namespace AMDiS {
       solverResidual = 0.0;
 
       GET_PARAMETER(0, name + "->timestep", "%f", &timestep);
+      lastProcessedTimestep=timestep;
     }
 
     /// Returns whether space tolerance is reached.
@@ -478,6 +480,19 @@ namespace AMDiS {
       
       return timestep;
     }
+    /// Gets \ref timestep
+    inline double getTimestep() 
+    { 
+      return timestep; 
+    }
+
+    inline void setLastProcessedTimestep(double t){
+	lastProcessedTimestep=t;
+    } 
+
+    inline double getLastProcessedTimestep(){
+	return lastProcessedTimestep;
+    } 
 
     /** \brief
      * Returns true, if the end time is reached and no more timestep
@@ -491,11 +506,6 @@ namespace AMDiS {
       return !(time < endTime - DBL_TOL);
     }
 
-    /// Gets \ref timestep
-    inline double getTimestep() 
-    { 
-      return timestep; 
-    }
 
     /// Sets \ref minTimestep
     inline void setMinTimestep(double t) 
@@ -705,9 +715,12 @@ namespace AMDiS {
     /// Final time
     double endTime;
 
-    /// Current time step size
+    ///Time step size to be used
     double timestep;
 
+    /// Last processed time step size of finished iteration
+    double lastProcessedTimestep;
+
     /// Minimal step size
     double minTimestep;
 
diff --git a/AMDiS/src/AdaptInstationary.cc b/AMDiS/src/AdaptInstationary.cc
index e34123e033b2cd5d6a22a30e2e54349cac1843ce..6c68c2858f5f24615983c38e31c6cb541a4974c9 100644
--- a/AMDiS/src/AdaptInstationary.cc
+++ b/AMDiS/src/AdaptInstationary.cc
@@ -121,6 +121,7 @@ namespace AMDiS {
     problemIteration_->beginIteration(adaptInfo);
     problemIteration_->oneIteration(adaptInfo, FULL_ITERATION);
     problemIteration_->endIteration(adaptInfo);
+    adaptInfo->setLastProcessedTimestep(adaptInfo->getTimestep()); 
   }
 
   void AdaptInstationary::implicitTimeStrategy()
@@ -184,7 +185,7 @@ namespace AMDiS {
     } while(!adaptInfo->timeToleranceReached() &&
 	    !(adaptInfo->getTimestep() <= adaptInfo->getMinTimestep()) && 
 	    adaptInfo->getTimestepIteration() <= adaptInfo->getMaxTimestepIteration());  
-
+    adaptInfo->setLastProcessedTimestep(adaptInfo->getTimestep()); 
     if (!fixedTimestep_ && adaptInfo->timeErrorLow()) {
       adaptInfo->setTimestep(adaptInfo->getTimestep() * time_delta_2);
       if (dbgMode) {