diff --git a/examples/elliptic/continuousgalerkin.cc b/examples/elliptic/continuousgalerkin.cc
index e1d52f66b3a42c5b625fcfba2b87e3703725c3f0..e4dabc97a27b4a804a21e3d9cd553935e32b87b2 100644
--- a/examples/elliptic/continuousgalerkin.cc
+++ b/examples/elliptic/continuousgalerkin.cc
@@ -231,7 +231,9 @@ int main(int argc, char** argv)
         *boundaryInfo, space.mapper().maxNumDofs(), space.mapper().maxNumDofs());
     rhsVector->backend() =
         forceVector->backend() + neumannVector->backend() - systemMatrix->backend() * dirichletVector->backend();
-    systemAssembler.applyConstraints(dirichletConstraints, *systemMatrix, *rhsVector);
+    systemAssembler.addLocalConstraints(dirichletConstraints, *systemMatrix);
+    systemAssembler.addLocalConstraints(dirichletConstraints, *rhsVector);
+    systemAssembler.applyConstraints();
     info << "done (took " << timer.elapsed() << " sec)" << std::endl;
 
     info << "solving linear system (of size " << systemMatrix->rows() << "x" << systemMatrix->cols() << ")"