diff --git a/src/futureSocieties/fsPassage.js b/src/futureSocieties/fsPassage.js
index f496a63cd5321f17a7f3826feeaee5ae8b7f52c5..4a827f25451566ce855d65d9585c6c0bcab898b2 100644
--- a/src/futureSocieties/fsPassage.js
+++ b/src/futureSocieties/fsPassage.js
@@ -1220,13 +1220,13 @@ App.UI.fsPassage = function() {
 		r = [];
 
 		// at most one revivalist FS can be active
-		console.assert(arcInfo.countActive('FSAztecRevivalist', 'FSEgyptianRevivalist', 'FSEdoRevivalist', 'FSArabianRevivalist', 'FSChineseRevivalist', 'FSNeoImperialist', 'FSRomanRevivalist', 'FSAntebellumRevivalist') <= 1);
+		const activeRevivalFS = arcInfo.revivalSociety();
 
-		if (arcInfo.fsActive('FSRomanRevivalist')) {
+		if (activeRevivalFS === RevivalSociety.ROMAN) {
 			r.push(pursuit());
 			r.push(`a vision of a new Rome.`);
 			r.push(activeFS("FSRomanRevivalist", ["boughtItem.clothing.toga"]));
-		} else {
+		} else if (activeRevivalFS === null) {
 			if (FSCredits > 0) {
 				r.push(
 					App.UI.DOM.link(
@@ -1246,11 +1246,11 @@ App.UI.fsPassage = function() {
 		App.Events.addNode(p, r, "div");
 		r = [];
 
-		if (arcInfo.fsActive('FSNeoImperialist')) {
+		if (activeRevivalFS === RevivalSociety.NEO_IMPERIAL) {
 			r.push(pursuit());
 			r.push(`a vision of a new Imperial Society.`);
 			r.push(activeFS("FSNeoImperialist", ["boughtItem.clothing.imperialarmor", "boughtItem.clothing.imperialsuit"]));
-		} else {
+		} else if (activeRevivalFS === null){
 			if (FSCredits > 0) {
 				r.push(
 					App.UI.DOM.link(
@@ -1269,11 +1269,11 @@ App.UI.fsPassage = function() {
 		}
 		App.Events.addNode(p, r, "div");
 		r = [];
-		if (arcInfo.fsActive('FSAztecRevivalist')) {
+		if (activeRevivalFS === RevivalSociety.AZTEC) {
 			r.push(pursuit());
 			r.push(`a vision of a new Aztec Empire.`);
 			r.push(activeFS("FSAztecRevivalist", ["boughtItem.clothing.huipil"]));
-		} else {
+		} else if (activeRevivalFS === null){
 			if (FSCredits > 0) {
 				r.push(
 					App.UI.DOM.link(
@@ -1292,11 +1292,11 @@ App.UI.fsPassage = function() {
 		}
 		App.Events.addNode(p, r, "div");
 		r = [];
-		if (arcInfo.fsActive('FSEgyptianRevivalist')) {
+		if (activeRevivalFS === RevivalSociety.EGYPTIAN) {
 			r.push(pursuit());
 			r.push(`a vision of Pharaoh's Egypt.`);
 			r.push(activeFS("FSEgyptianRevivalist", ["boughtItem.clothing.egypt"]));
-		} else {
+		} else if (activeRevivalFS === null){
 			if (FSCredits > 0) {
 				r.push(
 					App.UI.DOM.link(
@@ -1316,11 +1316,11 @@ App.UI.fsPassage = function() {
 		}
 		App.Events.addNode(p, r, "div");
 		r = [];
-		if (arcInfo.fsActive('FSEdoRevivalist')) {
+		if (activeRevivalFS === RevivalSociety.EDO) {
 			r.push(pursuit());
 			r.push(`a vision of Edo Japan.`);
 			r.push(activeFS("FSEdoRevivalist", ["boughtItem.clothing.kimono"]));
-		} else {
+		} else if (activeRevivalFS === null){
 			if (FSCredits > 0) {
 				r.push(
 					App.UI.DOM.link(
@@ -1339,11 +1339,11 @@ App.UI.fsPassage = function() {
 		}
 		App.Events.addNode(p, r, "div");
 		r = [];
-		if (arcInfo.fsActive('FSArabianRevivalist')) {
+		if (activeRevivalFS === RevivalSociety.ARABIAN) {
 			r.push(pursuit());
 			r.push(`a vision of the Sultanate of old.`);
 			r.push(activeFS("FSArabianRevivalist", ["boughtItem.clothing.harem"]));
-		} else {
+		} else if (activeRevivalFS === null){
 			if (FSCredits > 0) {
 				r.push(
 					App.UI.DOM.link(
@@ -1362,11 +1362,11 @@ App.UI.fsPassage = function() {
 		}
 		App.Events.addNode(p, r, "div");
 		r = [];
-		if (arcInfo.fsActive('FSChineseRevivalist')) {
+		if (activeRevivalFS === RevivalSociety.CHINESE) {
 			r.push(pursuit());
 			r.push(`a vision of ancient China.`);
 			r.push(activeFS("FSChineseRevivalist", ["boughtItem.clothing.qipao"]));
-		} else {
+		} else if (activeRevivalFS === null){
 			if (FSCredits > 0) {
 				r.push(
 					App.UI.DOM.link(
@@ -1385,11 +1385,11 @@ App.UI.fsPassage = function() {
 		}
 		App.Events.addNode(p, r, "div");
 		r = [];
-		if (arcInfo.fsActive('FSAntebellumRevivalist')) {
+		if (activeRevivalFS === RevivalSociety.ANTEBELLUM) {
 			r.push(pursuit());
 			r.push(`a vision of the Antebellum South.`);
 			r.push(activeFS("FSAntebellumRevivalist", ["boughtItem.clothing.antebellum"]));
-		} else {
+		} else if (activeRevivalFS === null){
 			if (FSCredits > 0) {
 				r.push(
 					App.UI.DOM.link(
diff --git a/src/js/utilsArcology.js b/src/js/utilsArcology.js
index bc1c04a7f67c2ee45a6cc7f747c751861b55fb61..90275afbe5048815255cb93783caff0bd3457ce7 100644
--- a/src/js/utilsArcology.js
+++ b/src/js/utilsArcology.js
@@ -136,6 +136,8 @@ App.Utils.Arcology = class {
 	 * @returns {FC.RevivalSocietyFreeze[keyof FC.RevivalSocietyFreeze] | null}
 	 */
 	revivalSociety() {
+		console.assert(this.countActive('FSAztecRevivalist', 'FSEgyptianRevivalist', 'FSEdoRevivalist', 'FSArabianRevivalist', 'FSChineseRevivalist', 'FSNeoImperialist', 'FSRomanRevivalist', 'FSAntebellumRevivalist') <= 1);
+
 		if (this.fsActive('FSAntebellumRevivalist')) {
 			return RevivalSociety.ANTEBELLUM;
 		} else if (this.fsActive('FSArabianRevivalist')) {