diff --git a/src/lbmpy/boundaries/boundaryhandling.py b/src/lbmpy/boundaries/boundaryhandling.py
index 9e1e710493228c9caf763a160c1a91072c5865d2..5c048b37808810c83b96e897ab3a738b24e56f83 100644
--- a/src/lbmpy/boundaries/boundaryhandling.py
+++ b/src/lbmpy/boundaries/boundaryhandling.py
@@ -12,6 +12,9 @@ from lbmpy.advanced_streaming.utility import is_inplace, Timestep, AccessPdfValu
 
 from .._compat import IS_PYSTENCILS_2
 
+if IS_PYSTENCILS_2:
+    from pystencils.types import PsNumericType
+
 
 class LatticeBoltzmannBoundaryHandling(BoundaryHandling):
     """
@@ -188,10 +191,10 @@ def create_lattice_boltzmann_boundary_kernel(pdf_field, index_field, lb_method,
             **kernel_creation_args
         )
 
-        default_data_type = config.get_option("default_dtype")
+        default_data_type: PsNumericType = 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)
+            force_vector_type = np.dtype([(f"F_{i}", default_data_type.numpy_dtype) for i in range(dim)], align=True)
             force_vector = Field.create_generic('force_vector', spatial_dimensions=1,
                                                 dtype=force_vector_type, field_type=FieldType.INDEXED)
 
diff --git a/tests/test_boundary_handling.py b/tests/test_boundary_handling.py
index 25e14e545a82fa3581120ea0b07f6fdc64ab50e4..d0750f9662386a134ba80cc5db475812dd9952ea 100644
--- a/tests/test_boundary_handling.py
+++ b/tests/test_boundary_handling.py
@@ -15,6 +15,8 @@ from pystencils import create_data_handling, make_slice, Target, CreateKernelCon
 from pystencils.slicing import slice_from_direction
 from pystencils.stencil import inverse_direction
 
+from lbmpy._compat import IS_PYSTENCILS_2
+
 
 def mirror_stencil(direction, mirror_axis):
     for i, n in enumerate(mirror_axis):
@@ -448,8 +450,17 @@ def test_force_on_boundary(given_force_vector, dtype):
     method = create_lb_method(lbm_config=LBMConfig(stencil=stencil, method=Method.SRT, relaxation_rate=1.8))
 
     noslip = NoSlip(name="noslip", calculate_force_on_boundary=True)
-    bouzidi = NoSlipLinearBouzidi(name="bouzidi", calculate_force_on_boundary=True)
-    qq_bounce_Back = QuadraticBounceBack(name="qqBB", relaxation_rate=1.8, calculate_force_on_boundary=True)
+    bouzidi = NoSlipLinearBouzidi(
+        name="bouzidi",
+        data_type=dtype,
+        calculate_force_on_boundary=True
+    )
+    qq_bounce_Back = QuadraticBounceBack(
+        name="qqBB",
+        relaxation_rate=1.8,
+        data_type=dtype,
+        calculate_force_on_boundary=True
+    )
 
     boundary_objects = [noslip, bouzidi, qq_bounce_Back]
     for boundary in boundary_objects:
@@ -465,7 +476,14 @@ def test_force_on_boundary(given_force_vector, dtype):
         index_field = ps.Field('indexVector', ps.FieldType.INDEXED, index_struct_dtype, layout=[0],
                                shape=(ps.TypedSymbol("indexVectorSize", "int32"), 1), strides=(1, 1))
 
-        create_lattice_boltzmann_boundary_kernel(pdfs, index_field, method, boundary, force_vector=force_vector)
+        create_lattice_boltzmann_boundary_kernel(
+            pdfs,
+            index_field,
+            method,
+            boundary,
+            force_vector=force_vector,
+            **({"default_dtype": dtype} if IS_PYSTENCILS_2 else dict())
+        )
 
 
 def _numpy_data_type_for_boundary_object(boundary_object, dim):