Before regenerating layer with EasyCustomLabeller, set map to EPSG:3857 LblX: x( geometry( get_feature( 'marshal_positions', 'id', "id") ) ) + 20 LblY: if ( intersects( make_line( make_point( x(geometry( get_feature( 'marshal_positions', 'id', "id" ) ) ), y( geometry( get_feature( 'marshal_positions', 'id', "id" ) ) ) ), make_point( x( geometry( get_feature( 'marshal_positions', 'id', "id" ) ) ) + 20, y( geometry( get_feature( 'marshal_positions', 'id', "id" ) ) ) + 60 ) ), geometry( get_feature( 'combined_routes', 'id', '1' ) ) ), y( geometry( get_feature( 'marshal_positions', 'id', "id" ) ) ) - 60, y( geometry( get_feature( 'marshal_positions', 'id', "id" ) ) ) + 60 )