diff --git a/AMDiS/src/SolverMatrix.h b/AMDiS/src/SolverMatrix.h
index a4c4761bcc17b666d9cdbda5ee9293ba8e15d84f..ef996f40c734037cc66f86b006dbb14ff7e4470f 100644
--- a/AMDiS/src/SolverMatrix.h
+++ b/AMDiS/src/SolverMatrix.h
@@ -72,7 +72,14 @@ namespace AMDiS {
 
 	matrix.change_dim(block_starts[ns], block_starts[ns]);
 	set_to_zero(matrix);
-	DOFMatrix::inserter_type  ins(matrix);
+
+	int nnz= 0;
+	for (int rb= 0; rb < ns; ++rb)
+	  for (int cb= 0; cb < ns; ++cb)
+	    if (A[rb][cb])
+		nnz+= A[rb][cb]->getBaseMatrix().nnz();	  
+      
+	DOFMatrix::inserter_type  ins(matrix, int(1.2 * nnz / matrix.dim1()));
 	for (int rb= 0; rb < ns; ++rb)
 	  for (int cb= 0; cb < ns; ++cb)
 	    if (A[rb][cb])