Critics of school choice argue that when private schools compete with public schools, they select the best public school students (cream-skim), increasing socioeconomic segregation. I study the mechanisms that underlie student sorting in a mixed public-private system using a 2008 education reform implemented in Chile aimed at decreasing education inequality. Specifically, I exploit the shock to schools' incentives to test for whether schools select students based on socioeconomic characteristics. I show that low-SES parents' school choices are restricted by private school cream-skimming behavior. I estimate a demand model incorporating these admissions restrictions to capture parents' preferences for different school characteristics and peer composition. I show that ignoring cream-skimming leads to underestimating poor parents' preferences for school quality. My model shows that heterogeneous parental preferences for high-SES peers seem to be the main driver behind socioeconomic segregation. I find that the decrease in cream-skimming induced by Chile's reform led to lower public school enrollment, and that strong preferences for high-SES peers drove increased enrollment in schools that opted out of the reform. Overall, this led to increased segregation, especially in more competitive markets.