diff --git a/test/adolctest.cc b/test/adolctest.cc
index 913439babafa74798ba281791e178f38c4147fd7..5c5d6cb4be7a893ce514b146b0b31b5357591197 100644
--- a/test/adolctest.cc
+++ b/test/adolctest.cc
@@ -131,9 +131,12 @@ int testHarmonicEnergy() {
     //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
-    harmonicEnergyLocalStiffness.assembleHessian(*grid.template leafbegin<0>(),localFiniteElement, localSolution);
+    std::vector<typename TargetSpace::TangentVector> localGradient;
+    harmonicEnergyLocalStiffness.assembleGradientAndHessian(*grid.template leafbegin<0>(),localFiniteElement, localSolution,
+                                                            localGradient);
 
-    localGFEADOLCStiffness.assembleHessian(*grid.template leafbegin<0>(),localFiniteElement, localSolution);
+    localGFEADOLCStiffness.assembleGradientAndHessian(*grid.template leafbegin<0>(),localFiniteElement, localSolution,
+                                                      localGradient);
 
     compareMatrices(harmonicEnergyLocalStiffness.A_, localGFEADOLCStiffness.A_, localSolution);
 
@@ -198,12 +201,15 @@ int testCosseratEnergy() {
     for (size_t j=0; j<nDofs; j++)
       localSolution[j] = testPoints[index[j]];
 
-    if (diameter(localSolution) > TargetSpace::convexityRadius)
+    if (diameter(localSolution) > 0.5*TargetSpace::convexityRadius)
         continue;
 
-    cosseratEnergyLocalStiffness.assembleHessian(*grid.leafbegin<0>(),localFiniteElement, localSolution);
+    std::vector<typename TargetSpace::TangentVector> localGradient;
+    cosseratEnergyLocalStiffness.assembleGradientAndHessian(*grid.leafbegin<0>(),localFiniteElement, localSolution,
+                                                            localGradient);
 
-    localGFEADOLCStiffness.assembleHessian(*grid.leafbegin<0>(),localFiniteElement, localSolution);
+    localGFEADOLCStiffness.assembleGradientAndHessian(*grid.leafbegin<0>(),localFiniteElement, localSolution,
+                                                      localGradient);
 
     compareMatrices(cosseratEnergyLocalStiffness.A_, localGFEADOLCStiffness.A_, localSolution);