Le canton n° 12 (Saint-Flour-2) comprend :
1° Les communes suivantes : Brezons, Cézens, Cussac, Gourdièges, Lacapelle-Barrès, Malbo, Narnhac, Oradour, Paulhac, Paulhenc, Pierrefort, Saint-Martin-sous-Vigouroux, Sainte-Marie, Sériers, Tanavelle, Les Ternes, Valuéjols, Villedieu ;
2° La partie de la commune de Saint-Flour non incluse dans le canton de Saint-Flour-1.
Le bureau centralisateur de ce canton est le bureau centralisateur de la commune de Saint-Flour.