We construct a production model of code-switched discourse, in order to explain empirical observations about switch point distribution, well-formedness of monolingual fragments, conservation of constituent structure and lack of constraint between successive switch points. The two monolingual grammars are modeled by congruent context-free phrase structure grammars. Each code-switched sentence makes alternate reference to two virtual monolingual sentences, one in each language, and, in the immediate vicinity of switch points, to their constituent structures. Imposing conservative conditions on when a constituent should be labeled as to language, and invoking a constraint against real-time “look-ahead” from one code-switch to the next, we prove that the existence of a consistent tree labeling, easily monitored by the speaker, implies a constraint on local equivalence of constituent order in the two languages around a switch point. This constitutes an explanation, without invoking a “code-switching grammar”, of the observed tendency for equivalence-point code-switching.