Reaction of quinuclidin-3-one (I) with trimethylsulfoxonium iodide and NaH in DMSO gives epoxide (II), which is opened with SH2 in NaOH/water, yielding 3-hydroxy-3-(sulfanylmethyl)quinuclidine (III). The cyclization of compound (III) with acetaldehyde (IV) catalyzed by boron trifluoride ethearate or by SnCl4, POCl3, H3PO4 or p-toluenesulfonic acid affords a mixture of two diastereomeric spiroracemates, the (?-trans (V) and (?-cis (cevimeline). This mixture is separated by fractional recrystallization in acetone or by TLC chromatography, and treated with hydrochloric acid. The (?-trans-compound (V) can be isomerized to cevimeline by treatment with an acidic catalyst such as an organic sulfonic acid (trifluoromethanesulfonic acid, p-toluenesulfonic acid or methanesulfonic acid), a Lewis acid (SnCl4, FeCl3, BF3 or AlCl3) or sulfuric acid in refluxing toluene, hexane or CHCl3. Cevimeline hydrochloride hemihydrate is obtained from the above mentioned hydrochloride by a complex work-up using water, isopropanol and n-hexane.