diff --git a/src/lbmpy/boundaries/boundaryconditions.py b/src/lbmpy/boundaries/boundaryconditions.py
index 1fd4864dade42e9f66ce722fc94e3ca128cb9c10..37304460d44bbfb89de12ed2f501d2453af39cb7 100644
--- a/src/lbmpy/boundaries/boundaryconditions.py
+++ b/src/lbmpy/boundaries/boundaryconditions.py
@@ -147,6 +147,8 @@ class NoSlip(LbBoundary):
             force = sp.Symbol("f")
             subexpressions = [Assignment(force, sp.Float(2.0) * f_out(dir_symbol))]
             offset = NeighbourOffsetArrays.neighbour_offset(dir_symbol, lb_method.stencil)
+            if IS_PYSTENCILS_2:
+                offset = [CastFunc.as_numeric(o) for o in offset]
             for i in range(lb_method.stencil.D):
                 subexpressions.append(Assignment(force_vector[0](f'F_{i}'), force * offset[i]))
         else:
@@ -228,6 +230,8 @@ class NoSlipLinearBouzidi(LbBoundary):
             force = sp.Symbol("f")
             subexpressions.append(Assignment(force, f_xf + rhs))
             offset = NeighbourOffsetArrays.neighbour_offset(dir_symbol, lb_method.stencil)
+            if IS_PYSTENCILS_2:
+                offset = [CastFunc.as_numeric(o) for o in offset]
             for i in range(lb_method.stencil.D):
                 subexpressions.append(Assignment(force_vector[0](f'F_{i}'), force * offset[i]))
 
@@ -382,6 +386,8 @@ class QuadraticBounceBack(LbBoundary):
             force = sp.Symbol("f")
             subexpressions.append(Assignment(force, f_xf + result))
             offset = NeighbourOffsetArrays.neighbour_offset(dir_symbol, lb_method.stencil)
+            if IS_PYSTENCILS_2:
+                offset = [CastFunc.as_numeric(o) for o in offset]
             for i in range(lb_method.stencil.D):
                 subexpressions.append(Assignment(force_vector[0](f'F_{i}'), force * offset[i]))