diff --git a/test/mpi/init/test0002.dat.2d b/test/mpi/init/test0002.dat.2d
index 0c5a659c31a26f33f3ea2c37f38ffd01ee7582e1..f8d5dbff5d79751316238d942c2731e58ce359e3 100644
--- a/test/mpi/init/test0002.dat.2d
+++ b/test/mpi/init/test0002.dat.2d
@@ -16,17 +16,10 @@ ellipt->solver->left precon:    diag
 ellipt->solver->right precon:   no
 
 ellipt->estimator[0]:              0
-ellipt->estimator[0]->error norm:  1   % 1: H1_NORM, 2: L2_NORM
-ellipt->estimator[0]->C0:          0.1 % constant of element residual
-ellipt->estimator[0]->C1:          0.1 % constant of jump residual
-
-ellipt->marker[0]->strategy:       0   % 0: no adaption 1: GR 2: MS 3: ES 4:GERS
-
-ellipt->output->filename:       output/ellipt.2d
-ellipt->output->ParaView format: 1
+ellipt->marker[0]->strategy:       0 
 
 parallel->log main rank:     0
 parallel->pre refine:        0
 parallel->partitioner:       checker
-parallel->multi level test:  1
+parallel->multi level test:  0
 parallel->solver:            petsc-feti
diff --git a/test/mpi/init/test0003.dat.2d b/test/mpi/init/test0003.dat.2d
new file mode 100644
index 0000000000000000000000000000000000000000..3ceab2fdc66e9fe4fe277dd1e06b59f0e0ebfa4b
--- /dev/null
+++ b/test/mpi/init/test0003.dat.2d
@@ -0,0 +1,25 @@
+dimension of world:             2
+
+elliptMesh->macro file name:    ./macro/macro.stand.p16.2d
+elliptMesh->global refinements: 2
+
+ellipt->mesh:                   elliptMesh
+ellipt->dim:                    2
+ellipt->components:             1
+ellipt->polynomial degree[0]:   1
+ 
+ellipt->solver:                 cg
+ellipt->solver->max iteration:  10
+ellipt->solver->tolerance:      1.e-8
+ellipt->solver->info:           10
+ellipt->solver->left precon:    diag
+ellipt->solver->right precon:   no
+
+ellipt->estimator[0]:              0
+ellipt->marker[0]->strategy:       0 
+
+parallel->log main rank:     0
+parallel->pre refine:        0
+parallel->partitioner:       checker
+parallel->multi level test:  1
+parallel->solver:            petsc-feti
diff --git a/test/mpi/src/test0002.cc b/test/mpi/src/test0002.cc
index f982c9acebe19284732540709d3121497d1b01ad..fe62ba2684d7780deae7a5a6c83462ef7f0d3e79 100644
--- a/test/mpi/src/test0002.cc
+++ b/test/mpi/src/test0002.cc
@@ -12,7 +12,7 @@ using namespace std;
   - 
 */
 
-BOOST_AUTO_TEST_CASE(amdis_mpi_simple_partitioning)
+BOOST_AUTO_TEST_CASE(amdis_mpi_feti)
 {
   BOOST_REQUIRE(MPI::COMM_WORLD.Get_size() == 16);
 
@@ -24,7 +24,7 @@ BOOST_AUTO_TEST_CASE(amdis_mpi_simple_partitioning)
 
   Mesh* mesh = ellipt.getMesh();
   BOOST_REQUIRE(mesh->getNumberOfLeaves() == 8);
-  BOOST_REQUIRE(meshDist->getMeshLevelData().getLevelNumber() == 2);
+  BOOST_REQUIRE(meshDist->getMeshLevelData().getLevelNumber() == 1);
 
   vector<const FiniteElemSpace*> feSpaces;
   feSpaces.push_back(ellipt.getFeSpace(0));
diff --git a/test/mpi/src/test0003.cc b/test/mpi/src/test0003.cc
new file mode 100644
index 0000000000000000000000000000000000000000..64845688f969945cef220b1d7ccf32bbaaa60bf8
--- /dev/null
+++ b/test/mpi/src/test0003.cc
@@ -0,0 +1,49 @@
+#define BOOST_TEST_DYN_LINK
+#define BOOST_TEST_MODULE 0002
+#define BOOST_TEST_NO_MAIN
+
+#include <boost/test/unit_test.hpp>
+#include <AMDiS.h>
+
+using namespace AMDiS;
+using namespace std;
+
+/*
+  - 
+*/
+
+BOOST_AUTO_TEST_CASE(amdis_mpi_feti_multilevel)
+{
+  BOOST_REQUIRE(MPI::COMM_WORLD.Get_size() == 16);
+
+  ProblemStat ellipt("ellipt");
+  ellipt.initialize(INIT_ALL);
+
+  MeshDistributor *meshDist = MeshDistributor::globalMeshDistributor;
+  meshDist->initParallelization();
+
+  Mesh* mesh = ellipt.getMesh();
+  BOOST_REQUIRE(mesh->getNumberOfLeaves() == 8);
+  BOOST_REQUIRE(meshDist->getMeshLevelData().getLevelNumber() == 2);
+
+  vector<const FiniteElemSpace*> feSpaces;
+  feSpaces.push_back(ellipt.getFeSpace(0));
+
+  PetscSolverFeti &feti = *(dynamic_cast<PetscSolverFeti*>(ellipt.getPetscSolver()));
+  feti.setMeshDistributor(meshDist);
+  feti.initialize(feSpaces);
+  feti.createFetiData();
+
+  BOOST_REQUIRE(feti.getNumberOfPrimals() == 9);
+  BOOST_REQUIRE(feti.getNumberOfDuals() == 16);
+}
+
+
+int main(int argc, char **argv)
+{
+  AMDiS::init(argc, argv, "./init/test0003.dat.2d");
+
+  boost::unit_test::unit_test_main(&init_unit_test, argc, argv);
+
+  AMDiS::finalize();
+}