diff --git a/AMDiS/src/parallel/GlobalMatrixSolver.cc b/AMDiS/src/parallel/GlobalMatrixSolver.cc
index b8f6976040651847f4591d6cbc24b2f1074e0873..4ae8d8f96ab34b4c17c3d24bf499520cd1b9ef65 100644
--- a/AMDiS/src/parallel/GlobalMatrixSolver.cc
+++ b/AMDiS/src/parallel/GlobalMatrixSolver.cc
@@ -277,15 +277,10 @@ namespace AMDiS {
 	      int localPetscRowIdx = 
 		petscRowIdx - meshDistributor->getRstart() * nComponents;
 
-#if (DEBUG != 0)    
-	      if (localPetscRowIdx < 0 || localPetscRowIdx >= nRankRows) {
-		std::cout << "ERROR in rank: " << meshDistributor->getMpiRank() << std::endl;
-		std::cout << "  Wrong r = " << localPetscRowIdx << " " << *cursor 
-			  << " " << meshDistributor->mapLocalToGlobal(*cursor) << " " 
-			  << nRankRows << std::endl;
-		ERROR_EXIT("Should not happen!\n");
-	      }
-#endif
+	      TEST_EXIT_DBG(localPetscRowIdx >= 0 && localPetscRowIdx < nRankRows)
+		("Should not happen! Wrong r = %d %d %d %d %d\n", 
+		 localPetscRowIdx, meshDistributor->getRstart(), *cursor, 
+		 meshDistributor->mapLocalToGlobal(*cursor), nRankRows);
 	      
 	      // Traverse all non zero entries in this row.
 	      for (icursor_type icursor = begin<nz>(cursor), 
diff --git a/AMDiS/src/parallel/ParallelDomainBase.cc b/AMDiS/src/parallel/ParallelDomainBase.cc
index 5081cc1085422d7ce6c75fe617768375987b2b23..d909fc4454fd207bafa271d7376b5e4594932a30 100644
--- a/AMDiS/src/parallel/ParallelDomainBase.cc
+++ b/AMDiS/src/parallel/ParallelDomainBase.cc
@@ -2146,6 +2146,7 @@ namespace AMDiS {
     SerUtil::deserialize(in, isRankDof);
 
     deserialize(in, vertexDof, dofMap);
+    deserialize(in, periodicDof);
 
     SerUtil::deserialize(in, rstart);
     SerUtil::deserialize(in, macroElementStructureConsisten);
@@ -2174,6 +2175,7 @@ namespace AMDiS {
 
     int mapSize = 0;
     SerUtil::deserialize(in, mapSize);
+
     for (int i = 0; i < mapSize; i++) {
       DegreeOfFreedom dof = 0;
       std::set<DegreeOfFreedom> dofSet;
diff --git a/AMDiS/src/parallel/ParallelDomainBase.h b/AMDiS/src/parallel/ParallelDomainBase.h
index 1849a97d7cc23c7efbf40260561cd1af247879a1..bd986ca6a7b9b8912ce4bfe4689a1c8199370409 100644
--- a/AMDiS/src/parallel/ParallelDomainBase.h
+++ b/AMDiS/src/parallel/ParallelDomainBase.h
@@ -343,6 +343,8 @@ namespace AMDiS {
     template<typename T>
     void serialize(std::ostream &out, std::map<const DegreeOfFreedom*, T> &data)
     {
+      FUNCNAME("ParallelDomainBase::serialize()");
+
       int mapSize = data.size();
       SerUtil::serialize(out, mapSize);
       for (typename std::map<const DegreeOfFreedom*, T>::iterator it = data.begin();