Looking at it, it seems to be that if the report will fit on one page it will rather put it on the 2nd page instead of putting half on the first and half on the second, however if the subreport uses more than 1 page then it will work correctly. This sounds as if the KeepTogether table property is set to True but it is set to False.