diff --git a/test/heatequation/heatequation.mini b/test/heatequation/heatequation.mini
index b5897d254180c71726bf0b181e6ae72e6afa8714..6059854ec5b6c09a97d06712b928d1e7044ef3af 100644
--- a/test/heatequation/heatequation.mini
+++ b/test/heatequation/heatequation.mini
@@ -13,7 +13,6 @@ extension = vtu
 
 [formcompiler]
 explicit_time_stepping = 0, 1 | expand scheme
-exact_solution_expression = g
 compare_l2errorsquared = 1e-7
 
 # Disable explicit tests for now
diff --git a/test/heatequation/heatequation.ufl b/test/heatequation/heatequation.ufl
index b6d3f65c7e107483029acd67226bd8e8ec6ab455..de1b61ec6723fd64b87a4550449aef528a306a94 100644
--- a/test/heatequation/heatequation.ufl
+++ b/test/heatequation/heatequation.ufl
@@ -1,11 +1,14 @@
 f = Expression("Dune::FieldVector<double,2> c(0.5); c-= x; return 4.*(1.-c.two_norm2())*std::exp(-1.*c.two_norm2());")
 g = Expression("Dune::FieldVector<double,2> c(0.5); c-= x; return std::exp(-1.*c.two_norm2());")
 
-V = FiniteElement("CG", "triangle", 1, dirichlet_expression=g)
+V = FiniteElement("CG", "triangle", 1)
 u = TrialFunction(V)
 v = TestFunction(V)
 
 mass = (u*v)*dx
 poisson = (inner(grad(u), grad(v)) - f*v)*dx
 
-forms = [mass, poisson]
\ No newline at end of file
+forms = [mass, poisson]
+dirichlet_expression = g
+is_dirichlet = 1
+exact_solution = g
\ No newline at end of file
diff --git a/test/heatequation/heatequation_dg.mini b/test/heatequation/heatequation_dg.mini
index cb5b3ccbf593b27121fe25385ce2aff9620654cf..3c21abe6c6a6f4ef80563db46ff49d83fdfdc17f 100644
--- a/test/heatequation/heatequation_dg.mini
+++ b/test/heatequation/heatequation_dg.mini
@@ -13,7 +13,6 @@ extension = vtu
 
 [formcompiler]
 explicit_time_stepping = 0, 1 | expand scheme
-exact_solution_expression = g
 compare_l2errorsquared = 1e-7
 
 # Disable explicit tests for now
diff --git a/test/heatequation/heatequation_dg.ufl b/test/heatequation/heatequation_dg.ufl
index 7a558b204e7c7426129cf3d5985ab42b22cbe7fc..649c4db417432ed644493f05e87faa03785f8a84 100644
--- a/test/heatequation/heatequation_dg.ufl
+++ b/test/heatequation/heatequation_dg.ufl
@@ -29,3 +29,6 @@ poisson = inner(grad(u), grad(v))*dx \
 mass = (u*v)*dx
 
 forms = [mass, poisson]
+dirichlet_expression = g
+is_dirichlet = 1
+exact_solution = g
\ No newline at end of file
diff --git a/test/nonlinear/nonlinear.mini b/test/nonlinear/nonlinear.mini
index 09c87b1bf071a33d40f794c57a50edac273b426d..26a1231eec2936dd947d4a3a3f9d82f1284a0353 100644
--- a/test/nonlinear/nonlinear.mini
+++ b/test/nonlinear/nonlinear.mini
@@ -11,5 +11,4 @@ reference = nonlinear_ref
 extension = vtu
 
 [formcompiler]
-exact_solution_expression = g
 compare_l2errorsquared = 6e-4
\ No newline at end of file
diff --git a/test/nonlinear/nonlinear.ufl b/test/nonlinear/nonlinear.ufl
index 060266988e2bdc3a2f4fb9bb8e8fc7d5bbe99b23..b71ed1da3fa37a4ed68d46766b1dc1066acf8ef4 100644
--- a/test/nonlinear/nonlinear.ufl
+++ b/test/nonlinear/nonlinear.ufl
@@ -1,10 +1,13 @@
 f = Expression("return -4;")
 g = Expression("return x.two_norm2();")
 
-V = FiniteElement("CG", "triangle", 1, dirichlet_expression=g)
+V = FiniteElement("CG", "triangle", 1)
 u = TrialFunction(V)
 v = TestFunction(V)
 
 r = (inner(grad(u), grad(v)) + u*u*v - f*v)*dx
 
 forms = [r]
+exact_solution = g
+dirichlet_expression = g
+is_dirichlet = 1
\ No newline at end of file
diff --git a/test/nonlinear/nonlinear_dg.mini b/test/nonlinear/nonlinear_dg.mini
index c4b9f2d1af707e05580b4422cd5c4d798b574d62..c720dbf5037d910a4035776c91de30b8163ea70e 100644
--- a/test/nonlinear/nonlinear_dg.mini
+++ b/test/nonlinear/nonlinear_dg.mini
@@ -11,6 +11,4 @@ reference = nonlinear_dg
 extension = vtu
 
 [formcompiler]
-exact_solution_expression = g
-compare_dofs = 1e-1
 compare_l2errorsquared = 6e-4
diff --git a/test/nonlinear/nonlinear_dg.ufl b/test/nonlinear/nonlinear_dg.ufl
index 28d9990ff1fa2e535a07dd312098c4342cf2b4b4..95b1f4f41a873d2a9f6a2d58200bb5529d128351 100644
--- a/test/nonlinear/nonlinear_dg.ufl
+++ b/test/nonlinear/nonlinear_dg.ufl
@@ -31,3 +31,4 @@ r = inner(grad(u), grad(v))*dx \
   - gamma*g*v*ds
 
 forms = [r]
+exact_solution = g
diff --git a/test/nonlinear/nonlinear_dg_matrix_free.mini b/test/nonlinear/nonlinear_dg_matrix_free.mini
index 1c7ea5edf2bd7fd94cbbe88c95a5422040776a57..8a1de68470a4375d05253337686105bcb35e6fea 100644
--- a/test/nonlinear/nonlinear_dg_matrix_free.mini
+++ b/test/nonlinear/nonlinear_dg_matrix_free.mini
@@ -13,7 +13,6 @@ extension = vtu
 [formcompiler]
 numerical_jacobian = 1, 0 | expand num
 matrix_free = 1
-exact_solution_expression = g
 compare_l2errorsquared = 5e-3
 
 # Disable numerical methods (not working in PDELab?)
diff --git a/test/nonlinear/nonlinear_matrix_free.mini b/test/nonlinear/nonlinear_matrix_free.mini
index d7afd07f9788e57b2e8979598057e88f5f4056e1..644297ab361203ec049c27529904d8b09dd2261a 100644
--- a/test/nonlinear/nonlinear_matrix_free.mini
+++ b/test/nonlinear/nonlinear_matrix_free.mini
@@ -13,5 +13,4 @@ extension = vtu
 [formcompiler]
 numerical_jacobian = 1, 0 | expand num
 matrix_free = 1
-exact_solution_expression = g
 compare_l2errorsquared = 6e-4