diff --git a/AMDiS/src/Cholesky.cc b/AMDiS/src/Cholesky.cc
index 16078c9bb0546b671e600655066ae5ad68b56cea..79242413fbab831bb123da4a44d10212cc1863c4 100644
--- a/AMDiS/src/Cholesky.cc
+++ b/AMDiS/src/Cholesky.cc
@@ -2,10 +2,9 @@
 
 bool Cholesky::factorization(Matrix<double> *A, Vector<double> *p)
 {
-  FUNCNAME("Cholesky::factorization");
+  FUNCNAME("Cholesky::factorization()");
 
   int n = A->getNumRows();
-  TEST_EXIT(n == A->getNumCols())("Matrix is not quadratic!\n");
 
   // Checking memory for vector P of diagonal elements of factorization.
   static Vector<double> *pT = NULL;
diff --git a/AMDiS/src/DOFMatrix.cc b/AMDiS/src/DOFMatrix.cc
index 4000fa39737467e8e6ceac701dde5c73ae5adaf8..774aad5f0e6e5d75325f13e54edc98c281c9c70f 100644
--- a/AMDiS/src/DOFMatrix.cc
+++ b/AMDiS/src/DOFMatrix.cc
@@ -179,9 +179,9 @@ namespace AMDiS {
 				   const BoundaryType *bound,
 				   bool add)
   {
-    FUNCNAME("DOFMatrix::addElementMatrix");
+    FUNCNAME("DOFMatrix::addElementMatrix()");
 
-    TEST_EXIT(inserter)("DOFMatrix is not in insertion mode");
+    TEST_EXIT_DBG(inserter)("DOFMatrix is not in insertion mode");
     inserter_type &ins= *inserter;
 
     DegreeOfFreedom row, col;
diff --git a/AMDiS/src/DOFMatrix.h b/AMDiS/src/DOFMatrix.h
index 577a5fc191d31de6009afe4747880fc5e468a846..25d5172379927a41271ce77a108dac40c9ad0ac6 100644
--- a/AMDiS/src/DOFMatrix.h
+++ b/AMDiS/src/DOFMatrix.h
@@ -284,13 +284,6 @@ namespace AMDiS {
       return rowFESpace->getAdmin()->getUsedSize();
     }
 
-    // Only fake, shouldn't be called
-    /** \brief
-     * Returns number of cols. For that, the function iteratos over all
-     * rows and searchs for the entry with the highest col number.
-     */
-    int getNumCols() const;
-
     /// Returns \ref name
     inline const std::string& getName() const { 
       return name; 
diff --git a/AMDiS/src/ProblemVec.cc b/AMDiS/src/ProblemVec.cc
index a40ac76b7d2ed1af6bce13fd9ea3a85613ec2ed0..a0a5e6f814a9b8980732a4c5b04d03bd7ce736b8 100644
--- a/AMDiS/src/ProblemVec.cc
+++ b/AMDiS/src/ProblemVec.cc
@@ -774,12 +774,6 @@ namespace AMDiS {
 			      assembleFlag,
 			      assembleMatrix ? matrix : NULL,
 			      ((i == j) && asmVector) ? rhs->getDOFVector(i) : NULL);	  
-
-	  TEST_EXIT_DBG(matrix->getUsedSize() == componentSpaces[i]->getAdmin()->getUsedSize())
-	    ("Assembled matrix has wrong dimension!\n");
-	  TEST_EXIT_DBG(matrix->getNumCols() == componentSpaces[j]->getAdmin()->getUsedSize())
-	    ("Assembled matrix has wrong dimension!\n");	  
-
 	} else {
 	  ERROR_EXIT("Not yet implemented!\n");
 	}
@@ -1132,6 +1126,9 @@ namespace AMDiS {
     if (useGetBound)
       bound = GET_MEMORY(BoundaryType, basisFcts->getNumber());
 
+    if (matrix) 
+      matrix->startInsertion();
+    
     DualTraverse dualTraverse;
     ElInfo *rowElInfo, *colElInfo;
     ElInfo *largeElInfo, *smallElInfo;
@@ -1182,6 +1179,9 @@ namespace AMDiS {
     BoundaryType *bound = NULL;
     if (useGetBound)
       bound = GET_MEMORY(BoundaryType, basisFcts->getNumber());    
+
+    if (matrix) 
+      matrix->startInsertion();
     
     DualTraverse dualTraverse;
     ElInfo *mainElInfo, *auxElInfo;