diff --git a/AMDiS/src/Debug.cc b/AMDiS/src/Debug.cc
index 2d6476735ec252e6acc9d5d37c734eee6eae37c8..ce387cfaea469a3bd197dd53ee2893398abefb19 100644
--- a/AMDiS/src/Debug.cc
+++ b/AMDiS/src/Debug.cc
@@ -195,6 +195,21 @@ namespace AMDiS {
     }
 
 
+    Element* getElement(Mesh *mesh, int elIndex)
+    {
+      TraverseStack stack;
+      ElInfo *elInfo = stack.traverseFirst(mesh, -1, Mesh::CALL_EVERY_EL_PREORDER);
+      while (elInfo) {
+	if (elInfo->getElement()->getIndex() == elIndex)
+	  return elInfo->getElement();      
+	
+	elInfo = stack.traverseNext(elInfo);
+      }
+      
+      return NULL;      
+    }
+
+
     Element* getParentElement(Mesh *mesh, int elIndex)
     {
       TraverseStack stack;
diff --git a/AMDiS/src/Debug.h b/AMDiS/src/Debug.h
index 8432077f1bc8fb9be1a0d17be0118a658836a0a7..e22caac8472eed9c9f0278321d1fd1f4a1ccb8a6 100644
--- a/AMDiS/src/Debug.h
+++ b/AMDiS/src/Debug.h
@@ -90,6 +90,8 @@ namespace AMDiS {
 
     Element* getParentElement(Mesh *mesh, int elIndex);
 
+    Element* getElement(Mesh *mesh, int elIndex);
+
     void printElementInfo(Element *el);
     
     void printInfoByDof(FiniteElemSpace *feSpace, DegreeOfFreedom dof);