diff --git a/AMDiS/src/ProblemVec.cc b/AMDiS/src/ProblemVec.cc
index 24c4225aaff188c7a02a5482835e06801c650fe7..2eb64d176f181bf7f482117702ab1bff28730476 100644
--- a/AMDiS/src/ProblemVec.cc
+++ b/AMDiS/src/ProblemVec.cc
@@ -687,7 +687,7 @@ namespace AMDiS {
 	bool assembleMatrix = true;
 	// The DOFMatrix which should be assembled (or not, if assembleMatrix
 	// will be set to false).
-	DOFMatrix *matrix = (*systemMatrix)[i][j];
+	DOFMatrix *matrix = (asmMatrix ? (*systemMatrix)[i][j] : NULL);
 
 	if (writeAsmInfo && matrix) {
 	  for (std::vector<Operator*>::iterator it = matrix->getOperatorsBegin();