 				}
 			}
 			
-			// now determine the data bounds we need to covert in lat/lon
+			// calculate min and max tile x and y for the dataBounds
 			_tempDataBounds.copyFrom(dataBounds);
 			_tempAllowedBounds.constrainBounds(_tempDataBounds, false);
-			WeaveAPI.ProjectionManager.transformBounds(tileProjectionSRS.value, "EPSG:4326", _tempDataBounds);
-			
-			// calculate min and max tile x and y for the zoom level
 			dataBoundsToTileXY(_tempDataBounds, zoomScale);
 			
 			// if the tile range is unreasonable, cut it down to a more reasonable range

				'{y}', String(coord.y),
				'{z}', String(coord.z),
				'{bbox}', [data.getXMin(), data.getYMin(), data.getXMax(), data.getYMax()].join(','),
				'{size}', [screen.getXCoverage(), screen.getYCoverage()].join(',')
			);
		}
		

			inputAndOutput.makeSizePositive();
			if (tileProjectionSRS.value == 'EPSG:3857')
			{
				WeaveAPI.ProjectionManager.transformBounds("EPSG:3857", "EPSG:4326", _tempDataBounds);

				inputAndOutput.xMin = zoomScale * (inputAndOutput.xMin + 180) / 360.0; 
				inputAndOutput.xMax = zoomScale * (inputAndOutput.xMax + 180) / 360.0; 
				
