diff --git a/AMDiS/src/ElementFunction.h b/AMDiS/src/ElementFunction.h
index 10e5e6f1cac499fafa4e0b56808812004bfd2975..256bd32f0cc98cdab8a7a4efbcd44e6d0124f591 100644
--- a/AMDiS/src/ElementFunction.h
+++ b/AMDiS/src/ElementFunction.h
@@ -91,12 +91,10 @@ namespace AMDiS {
     /// evaluation at given coordinates.
     T operator()(const DimVec<double>& bary) const 
     {
-      T* localVec = new T[dofVector->getFeSpace()->getBasisFcts()->getNumber()];
+      mtl::dense_vector<T> localVec(dofVector->getFeSpace()->getBasisFcts()->getNumber());
       dofVector->getLocalVector(this->elInfo->getElement(), localVec);
-      T t = dofVector->getFeSpace()->getBasisFcts()->evalUh(bary, localVec);
-
-      delete [] localVec;
-      return t;
+      
+      return dofVector->getFeSpace()->getBasisFcts()->evalUh(bary, localVec);
     }
 
   protected: