We present an algorithm for checking CTL formulas in Kripke structures with side conditions, where the side conditions define new variables in terms of path formulas. Given any CTL formula where the defined variables may occur, the presented algorithm will determine the set of states where the CTL * formula holds that is obtained by replacing each new variable defined by a side condition by its definition. The basic idea of our algorithm is to translate each side condition to a Kripke structure that encodes precisely the definition of the new variable. After that, we compute the products of these structures with the given structure and use a generalization of the well-known CTL model checking procedure. The presented model checking procedure can still be implemented as a symbolic model checking procedure (e.g. with BDDs). We moreover show how each CTL * model checking problem can be translated efficiently to a CTL model checking problem with side conditions, and hence show that the method can be used to construct efficient CTL * and LTL model checking procedures. Moreover, it is shown that for LTL model checking, we can still use standard CTL model checking procedures instead of our generalized version.