diff --git a/AMDiS/src/AMDiS.h b/AMDiS/src/AMDiS.h
index 54f170a79d10d89139583815757db16ca84b619b..8af56d6fee94741ed057c67b6ea1c8d3a83cacac 100644
--- a/AMDiS/src/AMDiS.h
+++ b/AMDiS/src/AMDiS.h
@@ -95,4 +95,6 @@
 #include "Triangle.h"
 #include "ValueWriter.h"
 #include "demangle.h"
+#include "parareal/ProblemBase.h"
+#include "parareal/AdaptParaReal.h"
 #endif
diff --git a/AMDiS/src/ProblemVec.cc b/AMDiS/src/ProblemVec.cc
index 746184533580e70c38c8ee778fefb58b755eec90..8ad3d0e643c9eced7d85e658b4d861423dfb7e16 100644
--- a/AMDiS/src/ProblemVec.cc
+++ b/AMDiS/src/ProblemVec.cc
@@ -1014,32 +1014,5 @@ namespace AMDiS {
 
     solution_->deserialize(in);
   }
-
-  void axpy(double a, 
-	    const Matrix<DOFMatrix*> &x,
-	    Matrix<DOFMatrix*> &y)
-  {
-    FUNCNAME("ProblemVec::axpy()");
-
-    int numRows = x.getNumRows(), numCols = x.getNumCols();
-    int i, j;
-    const DOFMatrix *xMatrix;
-    DOFMatrix *yMatrix;
-
-    for(i = 0; i < numRows; i++) {
-      for(j = 0; j < numCols; j++) {
-	xMatrix = x[i][j];
-	yMatrix = y[i][j];
-	if(!xMatrix) continue;
-	if(!yMatrix) {
-	  yMatrix = NEW DOFMatrix(xMatrix->getRowFESpace(), 
-				  xMatrix->getColFESpace(), "");
-	  y[i][j] = yMatrix;
-	}
-	yMatrix->axpy(a, *xMatrix, *yMatrix);
-      }
-    }
-  }
-
 }
  
diff --git a/AMDiS/src/ProblemVec.h b/AMDiS/src/ProblemVec.h
index a3a8ae84480d4a48e872b669aff07975caf18ab3..97104936bf7bd49808fd93dbcdeb9f556675b5e2 100644
--- a/AMDiS/src/ProblemVec.h
+++ b/AMDiS/src/ProblemVec.h
@@ -641,12 +641,6 @@ namespace AMDiS {
      */
     static ProblemVec *traversePtr_;
   };
-
-
-  void axpy(double a, 
-	    const Matrix<DOFMatrix*> &x,
-	    Matrix<DOFMatrix*> &y);
-
 }
 
 #endif