This paper addresses the deadlock problems in flexible manufacturing systems (FMS) by using a Petri net siphon control method and the theory of regions. The proposed policy consists of two stages. The first one, called siphons control, is to add, for every siphon that we identify, a monitor to the original net model such that it is optimally invariant controlled. In the second stage, the theory of regions is utilized to derive the net supervisors such that deadlocks can be prevented. The first-stage work significantly lowers the computational cost compared with the approach where the theory of regions is used alone. An FMS example is presented to illustrate the technique. By varying the markings of given net structures, this paper shows its computational advantages.