Models lie at the heart of the emerging Model-driven Engineering approach. In order to guarantee precise, consistent and correct models, there is an urgent need for ef ficient reasoning methods for verifYing model correctness. This paper extends and strengthens our previous work on efficient recognition of finite satisfiability problems in UML class diagrams with constrained generalization sets. First, algorithm FiniteSat is simplified into a single stage process, yielding a more compact linear inequality system. The main contribution of the paper is a method for propagation of disjoint constraints within complex class hierarchy structures, which meaningfully extends the scope of the FiniteSat algorithm. The method relies on a thorough analysis of the interaction between disjoint constraints and the structure of class hierarchy. It is recommended as a pre-processing stage, and being an anytime algorithm, even partial application is useful.