`bem is not None or surface is not None` is always `False` here (see above if)