diff --git a/demo/src/heat.cc b/demo/src/heat.cc
index b5beb6532576a7f8fe5af7b702210578acd4486e..d6a82340d4eae44349f0cae46444af011daaa1ed 100644
--- a/demo/src/heat.cc
+++ b/demo/src/heat.cc
@@ -206,9 +206,7 @@ int main(int argc, char** argv)
   G *boundaryFct = new G;
   boundaryFct->setTimePtr(heat.getTime());
   heat.setExactSolution(boundaryFct);
-  DOFVector<double> G_dof(heatSpace.getFeSpace(), "G");
-  G_dof.interpol(boundaryFct);
-  heatSpace.addDirichletBC(1, 0, 0, &G_dof);
+  heatSpace.addDirichletBC(1, 0, 0, boundaryFct);
 
 
   // ===== start adaption loop =====