Abstract A hybrid system framework is considered that allows for multivalued state evolution and nonsmooth performance specifications. Using the framework of and results from viability theory, a controller is designed that ensures that the states remain within a user-specified region. A viable cascade controller (VCC) is introduced which combines a typical (existing) controller (C) with a viable controller (VC) to achieve the objective of keeping the system states within the desired region. An illustrative example is used to demonstrate computations. The approach is applied to a batch polymerization process and simulation results are provided.