diff --git a/python/dune/perftool/ufl/execution.py b/python/dune/perftool/ufl/execution.py
index 93769fe2c0ed2bcb8f61db1ff9180c2006bd6346..9e857d975ba9f3eebb2adcf5a389eca37641a8e9 100644
--- a/python/dune/perftool/ufl/execution.py
+++ b/python/dune/perftool/ufl/execution.py
@@ -139,6 +139,14 @@ def split_expression(expr):
 
 
 class FiniteElement(ufl.FiniteElement):
+
+    __slots = ufl.FiniteElement.__slots__ + ["dirichlet_expression", "dirichlet_constraints"]
+
+    def __new__(cls, *args, **kwargs):
+        kwargs.pop('dirichlet_constraints', None)
+        kwargs.pop('dirichlet_expression', None)
+        return ufl.FiniteElement.__new__(cls, *args, **kwargs)
+
     def __init__(self, *args, **kwargs):
         if ('dirichlet_constraints' in kwargs) or ('dirichlet_expression' in kwargs):
             # Get dirichlet_constraints and convert it to Expression if necessary!
diff --git a/python/ufl b/python/ufl
index 51edbb951d99d5e431aaf5abe85a48763473c939..e64c3fae7654848f4dc77754b74311758e7fb351 160000
--- a/python/ufl
+++ b/python/ufl
@@ -1 +1 @@
-Subproject commit 51edbb951d99d5e431aaf5abe85a48763473c939
+Subproject commit e64c3fae7654848f4dc77754b74311758e7fb351