diff --git a/AMDiS/src/ProblemStat.cc b/AMDiS/src/ProblemStat.cc
index 8e29c3d161c65b4083c3648a2a56e9cf44aa46fc..3183c724b26a57622388bad0984a3d54d10e6bf2 100644
--- a/AMDiS/src/ProblemStat.cc
+++ b/AMDiS/src/ProblemStat.cc
@@ -1549,8 +1549,11 @@ namespace AMDiS {
     BoundaryType *bound = 
       useGetBound ? new BoundaryType[basisFcts->getNumber()] : NULL;
 
-    matrix->startInsertion(matrix->getNnz());
-    vector->set(0.0);
+    if (matrix)
+      matrix->startInsertion(matrix->getNnz());
+    
+    if (vector)
+      vector->set(0.0);
 
     // == Traverse mesh and assemble. ==
     ElInfo *elInfo = stack.traverseFirst(mesh, -1, assembleFlag);