diff --git a/AMDiS/src/Initfile.h b/AMDiS/src/Initfile.h
index 36cc97bcdfc6597a8e599738d808c774d9802c97..74fe21bc76cd2c60c75751a1b4826592bbf636db 100644
--- a/AMDiS/src/Initfile.h
+++ b/AMDiS/src/Initfile.h
@@ -254,9 +254,9 @@ namespace AMDiS {
       size_t pos = begBrackets.find(val[0]);
       if (pos == std::string::npos)
         hasBrackets = false;
-/*       if (hasBrackets && val[val.length() - 1] != endBrackets[pos]) */
-/*         throw WrongVectorFormat("begin and end bracket are different in" */
-/*             " value '" + val + "'"); */
+       if (hasBrackets && val[val.length() - 1] != endBrackets[pos])
+        throw WrongVectorFormat("begin and end bracket are different in"
+            " value '" + val + "'"); 
       size_t oldPos = (hasBrackets ? 1 : 0);
       size_t curDelim = 0;
       typedef typename Container::value_type ValueType;
@@ -295,8 +295,8 @@ namespace AMDiS {
     {
       std::vector<T> temp_vec;
       getContainer(valStr, temp_vec);
-/*       if (static_cast<int>(temp_vec.size()) != c.getSize()) */
-/*         throw WrongVectorSize("wrong number of entries for WorldVector"); */
+       if (static_cast<int>(temp_vec.size()) != c.getSize())
+        throw WrongVectorSize("wrong number of entries for WorldVector"); 
   
       for (size_t i = 0; i < temp_vec.size(); i++)
         c[i] = temp_vec[i];
diff --git a/AMDiS/src/solver/LinearSolver.h b/AMDiS/src/solver/LinearSolver.h
index 2e06cd2b8acbfba935d05608ccb1173f17c7fd3d..bfd1b1cae095095a11a5e9fd848fb4923760793e 100644
--- a/AMDiS/src/solver/LinearSolver.h
+++ b/AMDiS/src/solver/LinearSolver.h
@@ -120,6 +120,7 @@ namespace AMDiS {
       MSG("LinearSolver::solveSystem()\n");
     
       residual = -1.0;
+      rel_residual = -1.0;
       int error_code = solveLinearSystem(A, x, b, createMatrixData, storeMatrixData);
       
       TEST_EXIT(error_code == 0)
@@ -140,7 +141,7 @@ namespace AMDiS {
 	  
 	// test for relative tolerance
 	TEST_EXIT((isNumber(rel_residual) && (rel_residual < 0.0  || relative < 1.e-30 || rel_residual <= relative))
-		  || !breakTolNotReached)
+		  || (residual < 1.e-30) || !breakTolNotReached)
 	  ("Relative tolerance rtol = %e could not be reached!\n Set tolerance by '->solver->relative tolerance:' \n", relative);
       }
       return error_code;
diff --git a/demo/init/ellipt.dat.3d b/demo/init/ellipt.dat.3d
index 289cabb39092491b05ae75d8f11f7602ca2b2195..f0cb78688ff3a5510774bc65607b7b556ed3307c 100644
--- a/demo/init/ellipt.dat.3d
+++ b/demo/init/ellipt.dat.3d
@@ -1,7 +1,7 @@
 dimension of world:             3
 
 elliptMesh->macro file name:    ./macro/macro.stand.3d
-elliptMesh->global refinements: 0
+elliptMesh->global refinements: 1
 
 ellipt->mesh:                   elliptMesh
 ellipt->dim:                    3