diff --git a/AMDiS/src/parallel/MatrixNnzStructure.cc b/AMDiS/src/parallel/MatrixNnzStructure.cc
index f4f4ede626613a91335ae826d101ddbbd668b43b..d978f5672fec4c5d647343680d9e2cb4e7e447e6 100644
--- a/AMDiS/src/parallel/MatrixNnzStructure.cc
+++ b/AMDiS/src/parallel/MatrixNnzStructure.cc
@@ -48,8 +48,6 @@ namespace AMDiS {
     int nRankCols = colDofMap.getRankDofs();
     int rankStartColIndex = colDofMap.getStartDofs();
 
-    MSG("RANK DOFS FOR NNZ = %d %d\n", nRankRows, (!localMatrix ? nRankRows : -1));
-
     create(nRankRows, (!localMatrix ? nRankRows : -1));
 
     using mtl::tag::row; using mtl::tag::nz; using mtl::begin; using mtl::end;
@@ -251,11 +249,9 @@ namespace AMDiS {
 	      if (colDofMap[colFeSpace].find(col(*icursor), colDofIndex) == false)
 		continue;
 
-	      MSG("GET COL INDEX: %d\n", colComp);
 	      int petscColIdx = (colDofMap.isMatIndexFromGlobal() ? 
 				 colDofMap.getMatIndex(colComp, colDofIndex.global) :
 				 colDofMap.getMatIndex(colComp, col(*icursor)));
-	      MSG("GOT\n");
 	      
 	      sendMatrixEntry[sendToRank].
 		push_back(make_pair(petscRowIdx, petscColIdx));
diff --git a/AMDiS/src/parallel/ParallelCoarseSpaceMatVec.cc b/AMDiS/src/parallel/ParallelCoarseSpaceMatVec.cc
index db81eab81458192c856f19e8137f07543b995f82..2dd66d209ba72e27702e22e3f3e5a0f7e997ef4e 100644
--- a/AMDiS/src/parallel/ParallelCoarseSpaceMatVec.cc
+++ b/AMDiS/src/parallel/ParallelCoarseSpaceMatVec.cc
@@ -100,9 +100,6 @@ namespace AMDiS {
       
       TEST_EXIT_DBG(found)("Should not happen!\n");
     }
-
-    for (int i = 0; i < componentIthCoarseMap.size(); i++) 
-      MSG("COMP %d -> %d\n", i, componentIthCoarseMap[i]);
   }
 
 
@@ -138,7 +135,6 @@ namespace AMDiS {
 	  nnz[i][j].clear();
       }
 
-      MSG("CREATE MAT NNZ 0 - 0\n");
       nnz[0][0].create(seqMat, mpiCommGlobal, *interiorMap,
 		       (coarseSpaceMap.size() == 0 ? &(meshDistributor->getPeriodicMap()) : NULL),
 		       meshDistributor->getElementObjectDb(),
@@ -154,8 +150,6 @@ namespace AMDiS {
 	  ParallelDofMapping &colMap =
 	    (j == 0 ? *interiorMap : *(uniqueCoarseMap[j - 1]));
 
-	  MSG("CREATE MAT NNZ %d - %d WITH ROWS %d\n", i, j, rowMap.getRankDofs());
-	  
 	  nnz[i][j].create(seqMat, mpiCommGlobal, rowMap, colMap, NULL,
 			   meshDistributor->getElementObjectDb());
 	}
@@ -169,8 +163,6 @@ namespace AMDiS {
     int nRankInteriorRows = interiorMap->getRankDofs();
     int nOverallInteriorRows = interiorMap->getOverallDofs();
     
-    MSG("CREATE INTERIOR MAT!\n");
-
     if (localMatrix) {
       MatCreateSeqAIJ(mpiCommLocal, nRankInteriorRows, nRankInteriorRows,
 		      0, nnz[0][0].dnnz,
@@ -187,9 +179,6 @@ namespace AMDiS {
     VecCreateMPI(mpiCommGlobal, nRankInteriorRows, nOverallInteriorRows, &vecSol[0]);
     VecCreateMPI(mpiCommGlobal, nRankInteriorRows, nOverallInteriorRows, &vecRhs[0]);
 
-    MSG("DONE!\n");
-
-
     int nCoarseMap = uniqueCoarseMap.size();
     for (int i = 0; i < nCoarseMap; i++) {
       ParallelDofMapping* cMap = uniqueCoarseMap[i];
@@ -197,14 +186,13 @@ namespace AMDiS {
       int nRankCoarseRows = cMap->getRankDofs();
       int nOverallCoarseRows = cMap->getOverallDofs();
       
-      MSG("CREATE MAT COARSE %d OF SIZE %d %d\n", i + 1, nRankCoarseRows, nOverallCoarseRows);
       MatCreateAIJ(mpiCommGlobal,
 		   nRankCoarseRows, nRankCoarseRows,
 		   nOverallCoarseRows, nOverallCoarseRows,
 		   0, nnz[i + 1][i + 1].dnnz, 0, nnz[i + 1][i + 1].onnz,
 		   &mat[i + 1][i + 1]);
-
-      MSG("DONE!\n");
+      MSG("REMOVE THIS!\n");
+      MatSetOption(mat[i + 1][i + 1], MAT_NEW_NONZERO_ALLOCATION_ERR, PETSC_FALSE);
 
       VecCreateMPI(mpiCommGlobal, nRankCoarseRows, nOverallCoarseRows, 
 		   &vecSol[i + 1]);
@@ -212,35 +200,34 @@ namespace AMDiS {
 		   &vecRhs[i + 1]);
     }
 
-    MSG("NCOARSEMAP = %d\n", nCoarseMap);
-      
     for (int i = 0; i < nCoarseMap + 1; i++) {
       for (int j = 0; j < nCoarseMap + 1; j++) {
 	if (i == j)
 	  continue;
 
-	MSG("CHECK FOR %d %d\n", i, j);
 	int nRowsRankMat = (i == 0 ? nRankInteriorRows : uniqueCoarseMap[i - 1]->getRankDofs());
 	int nRowsOverallMat = (i == 0 ? nOverallInteriorRows : uniqueCoarseMap[i - 1]->getOverallDofs());
 
 	int nColsRankMat = (j == 0 ? nRankInteriorRows : uniqueCoarseMap[j - 1]->getRankDofs());
 	int nColsOverallMat = (j == 0 ? nOverallInteriorRows : uniqueCoarseMap[j - 1]->getOverallDofs());
 	
-	MSG("CREATE-A MAT %d %d\n", i, j);
 	MatCreateAIJ(mpiCommGlobal,
 		     nRowsRankMat, nColsRankMat,
 		     nRowsOverallMat, nColsOverallMat,
 		     0, nnz[i][j].dnnz, 0, nnz[i][j].onnz,
-		     &mat[i][j]);	  
-	MSG("DONE!\n");
+		     &mat[i][j]);
+      MSG("REMOVE THIS!\n");
+      MatSetOption(mat[i][j], MAT_NEW_NONZERO_ALLOCATION_ERR, PETSC_FALSE);
+	  
 	
-	MSG("CREATE-B MAT %d %d WITH SIZE ... \n", j, i);
 	MatCreateAIJ(mpiCommGlobal,
 		     nColsRankMat, nRowsRankMat,
 		     nColsOverallMat, nRowsOverallMat,
 		     0, nnz[j][i].dnnz, 0, nnz[j][i].onnz,
 		     &mat[j][i]);
-	MSG("DONE!\n");
+	MSG("REMOVE THIS!\n");
+	MatSetOption(mat[j][i], MAT_NEW_NONZERO_ALLOCATION_ERR, PETSC_FALSE);
+
       }
     }    
   }
diff --git a/AMDiS/src/parallel/PetscSolverFeti.cc b/AMDiS/src/parallel/PetscSolverFeti.cc
index 7ff8e762fc8f2c02b2e9b27e940794a6f9097687..f3f7b4be5b02d20656c4390b591426416b095853 100644
--- a/AMDiS/src/parallel/PetscSolverFeti.cc
+++ b/AMDiS/src/parallel/PetscSolverFeti.cc
@@ -691,10 +691,18 @@ namespace AMDiS {
 
     int nLocalInterior = 0;    
     for (int i = 0; i < admin->getUsedSize(); i++) {
+      if (i == 0) {
+	MSG("JETZT: %d %d %d %d\n", admin->isDofFree(i), isPrimal(feSpace, i), isDual(feSpace, i), isInterface(feSpace, i));
+      }
+
       if (admin->isDofFree(i) == false && 
 	  isPrimal(feSpace, i) == false &&
 	  isDual(feSpace, i) == false &&
 	  isInterface(feSpace, i) == false) {
+	if (i == 0) {
+	  MSG("DRIN\n");
+	}
+
 	if (meshLevel == 0) {
 	  localDofMap[feSpace].insertRankDof(i, nLocalInterior);
 
diff --git a/AMDiS/src/parallel/PetscSolverGlobalMatrix.cc b/AMDiS/src/parallel/PetscSolverGlobalMatrix.cc
index ada6be00510efd1f7ef5f663b0228675437a281d..837faaf4dc314e70b13ecd17f9a78a7995fafcc4 100644
--- a/AMDiS/src/parallel/PetscSolverGlobalMatrix.cc
+++ b/AMDiS/src/parallel/PetscSolverGlobalMatrix.cc
@@ -147,7 +147,7 @@ namespace AMDiS {
 	       cend = end<row>(dofMat->getBaseMatrix()); cursor != cend; ++cursor) {
 
 	  bool isRowCoarse = 
-	    isCoarseSpace(rowComponent, feSpaces[colComponent], *cursor);
+	    isCoarseSpace(rowComponent, feSpaces[rowComponent], *cursor);
   
 	  cols.clear();
 	  colsOther.clear();