diff --git a/python/dune/perftool/pdelab/geometry.py b/python/dune/perftool/pdelab/geometry.py
index 90b2ac90b53a5d9667cc7706c24f3458a81ff7c8..6b6f16f6f4c0e08747d7643a180cbec6391f45ea 100644
--- a/python/dune/perftool/pdelab/geometry.py
+++ b/python/dune/perftool/pdelab/geometry.py
@@ -333,10 +333,7 @@ def define_jacobian_inverse_transposed(name, restriction):
     dim = world_dimension()
     temporary_variable(name, decl_method=define_jacobian_inverse_transposed_temporary(restriction), shape=(dim, dim))
     geo = name_cell_geometry(restriction)
-    if get_option('blockstructured'):
-        pos = get_backend("qp_in_cell", selector=lambda : "blockstructured")(restriction)
-    else:
-        pos = get_backend("qp_in_cell")(restriction)
+    pos = get_backend("qp_in_cell", selector=option_switch("blockstructured"))(restriction)
     return quadrature_preamble("{} = {}.jacobianInverseTransposed({});".format(name,
                                                                                geo,
                                                                                str(pos),
@@ -377,10 +374,7 @@ def define_constant_jacobian_determinant(name):
 def define_jacobian_determinant(name):
     temporary_variable(name, shape=())
     geo = name_geometry()
-    if get_option('blockstructured'):
-        pos = get_backend("quad_pos", selector=lambda: 'blockstructured')()
-    else:
-        pos = get_backend("quad_pos")()
+    pos = get_backend("quad_pos", selector=option_switch("blockstructured"))()
     code = "{} = {}.integrationElement({});".format(name,
                                                     geo,
                                                     str(pos),
diff --git a/python/dune/perftool/pdelab/localoperator.py b/python/dune/perftool/pdelab/localoperator.py
index e0659c6a32a408670e95841489d6721628051c24..20110f207eed1c1105dde9c2a0588178ac8f203b 100644
--- a/python/dune/perftool/pdelab/localoperator.py
+++ b/python/dune/perftool/pdelab/localoperator.py
@@ -3,7 +3,8 @@ from os.path import splitext
 
 import logging
 
-from dune.perftool.options import get_option
+from dune.perftool.options import (get_option,
+                                   option_switch)
 from dune.perftool.generation import (backend,
                                       base_class,
                                       class_basename,
@@ -242,10 +243,7 @@ def determine_accumulation_space(expr, number, measure, idims=None):
         lfs = lfs_child(lfs, idims, shape=subel.value_shape(), symmetry=subel.symmetry())
         subel = subel.sub_elements()[0]
 
-    if get_option("blockstructured"):
-        iname, = get_backend("lfs_inames", selector=lambda: "blockstructured")(subel, ma.restriction, count=number)
-    else:
-        iname, = get_backend("lfs_inames")(subel, ma.restriction, count=number)
+    iname, = get_backend("lfs_inames", selector=option_switch("blockstructured"))(subel, ma.restriction, count=number)
     lfsi = Variable(iname)
 
     # If the LFS is not yet a pymbolic expression, make it one