In Chang and Keisler's Model Theory I came across the following theorem (Theorem 7.2.13):
Theorem There exists a (first-order) sentence $\sigma$ such that for all infinite cardinals $\alpha$, $\sigma$ admits $(\alpha^{++},\alpha)$ iff there exists an $\alpha$-Kurepa tree.
Definitions
(1) Fix a predicate $P$ in the language of $\sigma$. Then $\sigma$ admits $(\kappa,\lambda)$ if there is a model $M$ of $\sigma$ with $|M|=\kappa$ and $|P^M|=\lambda$. Obviously, $\kappa\ge\lambda$.
(2) An $\alpha$-Kurepa tree has height $\alpha^+$, each level has at most $\alpha$ elements and there are at least $\alpha^{++}$ elements of height $\alpha^+$.
Although $\sigma$ is not explicitly defined in Chang and Keisler, I am assuming it says something like:
There is a predicate $P$, there is a surjection from $P$ to each level, the levels of the tree are linearly ordered, and there is a surjection from $P$ to every initial segment of this linear order.
I see this sentence works under GCH, but I have a hard time when GCH fails. Consider for instance the case when $\alpha=\aleph_0$ and, say $2^{\aleph_0}=\aleph_2$. Then we can cook up a model of the above sentence that resembles $(\omega^{<\omega},\subset)$ with $\omega^\omega$ many cofinal branches. This model will be have type $(\aleph_2,\aleph_0)$.
By a theorem of Devlin, we can find a model of ZFC where there is no Kurepa tree and the continuum is $\aleph_2$. Thus, it is consistent that $\sigma$ will have models of type $(\aleph_2,\aleph_0)$, while there are no Kurepa trees.
My question: Do I miss something "obvious", or is the above theorem true only under GCH?