I have 3 rasters, each is in the same SRS but with differing extents

I want to combine them into a single tile set using gdal2tiles.py

eg:-

```
gdal2tiles.py -z '2-4' -e -p raster -r average --s_srs EPSG:27700 raster1.tif /tiles
gdal2tiles.py -z '5-8' -e -p raster -r average --s_srs EPSG:27700 raster2.tif /tiles
gdal2tiles.py -z '9-12' -e -p raster -r average --s_srs EPSG:27700 raster3.tif /tiles

```

When I try this the tiles are not centred correctly when zooming from 4 to 5 and then 8 to 9. I suspect this is due to inconsistent extents of the rasters. Or am I missing something else? Should I be wrapping them in a virtual raster