diff --git a/src/lbmpy/boundaries/boundaryhandling.py b/src/lbmpy/boundaries/boundaryhandling.py
index d7d7c933e42650a2ca1d354fca14c98a408df0ef..cf8f4239a66affab7639bbe4c32bd1c1802b64aa 100644
--- a/src/lbmpy/boundaries/boundaryhandling.py
+++ b/src/lbmpy/boundaries/boundaryhandling.py
@@ -178,7 +178,7 @@ def create_lattice_boltzmann_boundary_kernel(pdf_field, index_field, lb_method,
             **kernel_creation_args
         )
 
-        default_data_type = config.default_dtype
+        default_data_type = config.get_option("default_dtype")
 
         if force_vector is None:
             force_vector_type = np.dtype([(f"F_{i}", default_data_type.c_name) for i in range(dim)], align=True)
diff --git a/src/lbmpy/creationfunctions.py b/src/lbmpy/creationfunctions.py
index 1883a1e2b8d129b2573d0919fda3714f3e1d1856..8d3e7be2c21ed05a643165153999ec6772d5b5b1 100644
--- a/src/lbmpy/creationfunctions.py
+++ b/src/lbmpy/creationfunctions.py
@@ -607,7 +607,7 @@ def create_lb_update_rule(collision_rule=None, lbm_config=None, lbm_optimisation
     lb_method = collision_rule.method
 
     if IS_PYSTENCILS_2:
-        fallback_field_data_type = config.default_dtype  # TODO nbackend: clarify this
+        fallback_field_data_type = config.get_option("default_dtype")  # TODO nbackend: clarify this
     else:
         fallback_field_data_type = config.data_type[lbm_config.field_name].numpy_dtype
 
diff --git a/src/lbmpy/lbstep.py b/src/lbmpy/lbstep.py
index f455d3aea2933862b60a368105aa0cd0601ccd17..53300d7b1b74a6f13a9876d28d7da99696895bfb 100644
--- a/src/lbmpy/lbstep.py
+++ b/src/lbmpy/lbstep.py
@@ -69,7 +69,7 @@ class LatticeBoltzmannStep:
         # the parallel datahandling understands only numpy datatypes. Strings lead to an errors
         if IS_PYSTENCILS_2:
             from pystencils import create_type
-            field_dtype = create_type(config.default_dtype).numpy_dtype
+            field_dtype = create_type(config.get_option("default_dtype")).numpy_dtype
         else:
             field_dtype = config.data_type.default_factory().numpy_dtype
 
@@ -458,8 +458,8 @@ class LatticeBoltzmannStep:
         if IS_PYSTENCILS_2:
             gen_config = CreateKernelConfig(
                 target=Target.CPU,
-                cpu_openmp=self._config.cpu_openmp,
-                default_dtype=self._config.default_dtype
+                cpu_openmp=self._config.cpu.openmp.get_option("enable"),
+                default_dtype=self._config.get_option("default_dtype")
             )
         else:
             gen_config = CreateKernelConfig(target=Target.CPU, cpu_openmp=self._config.cpu_openmp)
diff --git a/src/lbmpy/scenarios.py b/src/lbmpy/scenarios.py
index ac86a4eaed041953d3641e912881ae7c79e7c28e..1bc87b5d1816dd734c3eb44400de64e7ce226d21 100644
--- a/src/lbmpy/scenarios.py
+++ b/src/lbmpy/scenarios.py
@@ -98,7 +98,7 @@ def create_lid_driven_cavity(domain_size=None, lid_velocity=0.005, lbm_kernel=No
     if IS_PYSTENCILS_2:
         my_ubb = UBB(
             velocity=[lid_velocity, 0, 0][:step.method.dim],
-            data_type=step.config.default_dtype
+            data_type=step.config.get_option("default_dtype")
         )
     else:  # legacy version does not set data type of boundary correctly
         my_ubb = UBB(velocity=[lid_velocity, 0, 0][:step.method.dim])