diff --git a/src/js/storyJS.tw b/src/js/storyJS.tw
index 6f74bc541fb41da582b0abbb698f34ef768f27ab..099a05d0f16178b0f1676194ad7afe00336709d5 100644
--- a/src/js/storyJS.tw
+++ b/src/js/storyJS.tw
@@ -1083,6 +1083,86 @@ window.cumAmount = function(slave) {
 	}
 };
 
+window.nameReplace = function(name)
+{
+	name = name.replace("Sh", "Th");
+	name = name.replace("SS", "Th");
+	name = name.replace("Ss", "Th");
+	name = name.replace("sS", "Th");
+	name = name.replace("S", "Th");
+	name = name.replace("aX", "aKTH");
+	name = name.replace("eX", "eKTH");
+	name = name.replace("iX", "iKTH");
+	name = name.replace("oX", "oKTH");
+	name = name.replace("uX", "uKTH");
+	name = name.replace("yX", "yKTH");
+	name = name.replace("AX", "AKTH");
+	name = name.replace("EX", "EKTH");
+	name = name.replace("IX", "IKTH");
+	name = name.replace("OX", "OKTH");
+	name = name.replace("UX", "UKTH");
+	name = name.replace("YX", "YKTH");
+	name = name.replace("Xa", "Tha");
+	name = name.replace("Xe", "The");
+	name = name.replace("Xi", "Thi");
+	name = name.replace("Xo", "Tho");
+	name = name.replace("Xu", "Thu");
+	name = name.replace("Xy", "Thy");
+	name = name.replace("XA", "THA");
+	name = name.replace("XE", "THE");
+	name = name.replace("XI", "THI");
+	name = name.replace("XO", "THO");
+	name = name.replace("XU", "THU");
+	name = name.replace("XY", "THY");
+	name = name.replace("X", "EKTH");
+	name = name.replace("zZ", "Th");
+	name = name.replace("Zz", "Th");
+	name = name.replace("ZZ", "TH");
+	name = name.replace("Z", "Th");
+	name = name.replace("Ci", "Thi");
+	name = name.replace("Ce", "The");
+	name = name.replace("Cy", "Thy");
+	name = name.replace("CI", "THI");
+	name = name.replace("CE", "THE");
+	name = name.replace("CY", "THY");
+	name = name.replace("ss", "th");
+	name = name.replace("sh", "th");
+	name = name.replace("s", "th");
+	name = name.replace("zz", "th");
+	name = name.replace("z", "th");
+	name = name.replace("ax", "akth");
+	name = name.replace("ex", "ekth");
+	name = name.replace("ix", "ikth");
+	name = name.replace("ox", "okth");
+	name = name.replace("ux", "ukth");
+	name = name.replace("yx", "ykth");
+	name = name.replace("Ax", "Akth");
+	name = name.replace("Ex", "Ekth");
+	name = name.replace("Ix", "Ikth");
+	name = name.replace("Ox", "Okth");
+	name = name.replace("Ux", "Ukth");
+	name = name.replace("Yx", "Ykth");
+	name = name.replace("xa", "tha");
+	name = name.replace("xe", "the");
+	name = name.replace("xi", "thi");
+	name = name.replace("xo", "tho");
+	name = name.replace("xu", "thu");
+	name = name.replace("xy", "thy");
+	name = name.replace("xA", "thA");
+	name = name.replace("xE", "thE");
+	name = name.replace("xI", "thI");
+	name = name.replace("xO", "thO");
+	name = name.replace("xU", "thU");
+	name = name.replace("xY", "thY");
+	name = name.replace("x", "ekth");
+	name = name.replace("ci", "thi");
+	name = name.replace("ce", "the");
+	name = name.replace("cy", "thy");
+	name = name.replace("cI", "thI");
+	name = name.replace("cE", "thE");
+	name = name.replace("cY", "thY");
+	return name;
+}
 
 window.mergeRules = function(rules) {
     var combinedRule = {};
diff --git a/src/npc/fFeelings.tw b/src/npc/fFeelings.tw
index a28539ae688165fb95eab6b9eb3397b41ea55025..7ea2c6e0d4b4f76532e61e52824d3350c04febd3 100644
--- a/src/npc/fFeelings.tw
+++ b/src/npc/fFeelings.tw
@@ -595,8 +595,10 @@ My favorite part of my body i<<s>>
 
 <<if $activeSlave.inflation > 0>>
 	<<if SlaveStatsChecker.checkForLisp($activeSlave)>>
-		<<set _fluid = $activeSlave.inflationType, _fluid = _fluid.replace("ss", "th"), _fluid = _fluid.replace("S", "Th"), _fluid = _fluid.replace("s", "th")>>
-		<<set _slavename = $activeSlave.slaveName, _slavename = _slavename.replace("ss", "th"), _slavename = _slavename.replace("S", "Th"), _slavename = _slavename.replace("s", "th")>>
+		<<set _fluid = $activeSlave.inflationType>>
+		<<set _fluid = nameReplace(_fluid)>>
+		<<set _slavename = $activeSlave.slaveName>>
+		<<set _slavename = nameReplace(_slavename)>>
 	<<else>>
 		<<set _fluid = $activeSlave.inflationType>>
 	<</if>>
@@ -940,14 +942,18 @@ My favorite part of my body i<<s>>
 
 <<if ($activeSlave.relationship > 0)>>
 	<<set $partner = $slaves.findIndex(function(s) { return s.ID == $activeSlave.relationshipTarget; })>>
+	<<set _partnerName = $slaves[$partner].slaveName>>
+	<<if _lisping == 1>>
+	    <<set _partnerName = nameReplace(_partnerName)>>
+	<</if>>
 	<<if $activeSlave.relationship <= 2>>
-		I really like <<s>>eeing $slaves[$partner].slaveName every day, she'<<s>> a good friend." She blushes. "<<S>>he'<<s>> kind of hot, too.
+		I really like <<s>>eeing _partnerName every day, she'<<s>> a good friend." She blushes. "<<S>>he'<<s>> kind of hot, too.
 	<<elseif $activeSlave.relationship <= 3>>
-		I really like <<s>>eeing $slaves[$partner].slaveName every day, she's a good friend -" She blushes. "- even when we're not fucking.
+		I really like <<s>>eeing _partnerName every day, she's a good friend -" She blushes. "- even when we're not fucking.
 	<<elseif $activeSlave.relationship <= 4>>
-		I really love $slaves[$partner].slaveName." She blushes. "Thank you for letting u<<s>> be together, <<Master>>.
+		I really love _partnerName." She blushes. "Thank you for letting u<<s>> be together, <<Master>>.
 	<<else>>
-		I'm <<s>>o happy with $slaves[$partner].slaveName." She blushes. "Thank you for her, <<Master>>.
+		I'm <<s>>o happy with _partnerName." She blushes. "Thank you for her, <<Master>>.
 	<</if>>
 	<<if $activeSlave.relationship >= 3>>
 		<<if $activeSlave.mother == $slaves[$partner].ID>>
diff --git a/src/pregmod/fMarry.tw b/src/pregmod/fMarry.tw
index cd966cb7f615f073687669bd971b684b0a8f7d9c..67ed24d6ce780cbe86ba8bda7d3796feadd0b1cb 100644
--- a/src/pregmod/fMarry.tw
+++ b/src/pregmod/fMarry.tw
@@ -9,15 +9,18 @@
 	<<set _m = $slaves.findIndex(function(s) { return s.ID == $activeSlave.relationshipTarget; })>>
 	<<if _m != -1>>
 		<<if SlaveStatsChecker.checkForLisp($activeSlave)>>
-			<<set _name = $slaves[_m].slaveName, _name = _name.replace("ss", "th"), _name = _name.replace("S", "Th"), _name = _name.replace("s", "th")>>
+			<<set _name = $slaves[_m].slaveName>>
+			<<set _name = nameReplace(_name)>>
 		<<else>>
 			<<set _name = $slaves[_m].slaveName>>
 		<</if>>
 	<</if>>
 <</if>>
 <<if SlaveStatsChecker.checkForLisp($activeSlave)>>
-	<<set _myName = $activeSlave.slaveName, _myName = _myName.replace("ss", "th"), _myName = _myName.replace("S", "Th"), _myName = _myName.replace("s", "th")>>
-	<<set _playerSurname = $PC.surname, _playerSurname = _playerSurname.replace("ss", "th"), _playerSurname = _playerSurname.replace("S", "Th"), _playerSurname = _playerSurname.replace("s", "th")>>
+	<<set _myName = $activeSlave.slaveName>>
+	<<set _myName = nameReplace(_myName)>>
+	<<set _playerSurname = $PC.surname>>
+	<<set _playerSurname = nameReplace(_playerSurname)>>
 <<else>>
 	<<set _myName = $activeSlave.slaveName>>
 	<<set _playerSurname = $PC.surname>>
diff --git a/src/pregmod/managePersonalAffairs.tw b/src/pregmod/managePersonalAffairs.tw
index c9828fce078168326204cdb28f7d9a91b8e8702c..3dd08aadb9e03c481051eaf4df96cfd007986f33 100644
--- a/src/pregmod/managePersonalAffairs.tw
+++ b/src/pregmod/managePersonalAffairs.tw
@@ -365,7 +365,8 @@ On formal occasions, you are announced as $PCTitle. By slaves, however, you pref
 			<<link "Apply">>
 				<<replace "#result">>
 					Your title is now $PC.customTitle.
-					<<set $PC.customTitleLisp = $PC.customTitle, $PC.customTitleLisp = $PC.customTitleLisp.replace("ss", "th"), $PC.customTitleLisp = $PC.customTitleLisp.replace("S", "Th"), $PC.customTitleLisp = $PC.customTitleLisp.replace("s", "th")>>
+					<<set $PC.customTitleLisp = $PC.customTitle>>
+					<<set $PC.customTitleLisp = nameReplace($PC.customTitleLisp)>>
 				<</replace>>
 			<</link>>
 		<</replace>>
@@ -375,7 +376,8 @@ On formal occasions, you are announced as $PCTitle. By slaves, however, you pref
 	<<link "Apply">>
 		<<replace "#result">>
 			Your title is now $PC.customTitle.
-			<<set $PC.customTitleLisp = $PC.customTitle, $PC.customTitleLisp = $PC.customTitleLisp.replace("ss", "th"), $PC.customTitleLisp = $PC.customTitleLisp.replace("S", "Th"), $PC.customTitleLisp = $PC.customTitleLisp.replace("s", "th")>>
+			<<set $PC.customTitleLisp = $PC.customTitle>>
+			<<set $PC.customTitleLisp = nameReplace($PC.customTitleLisp)>>
 		<</replace>>
 	<</link>> |
 	<<link "Stop using a custom title">>
diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw
index 1a252d7f15b61f279717a6aa7ee16411629fca06..21bddb2aa49d3006f655d950746a9834a7c90fed 100644
--- a/src/uncategorized/RESS.tw
+++ b/src/uncategorized/RESS.tw
@@ -745,8 +745,10 @@ An escape attempt occurs and is stopped almost before you are informed of it. <<
 <<case "not my name">>
 
 <<if SlaveStatsChecker.checkForLisp($activeSlave)>>
-	<<set _name = $activeSlave.birthName, _name = _name.replace("ss", "th"), _name = _name.replace("S", "Th"), _name = _name.replace("s", "th")>>
-	<<set _slavename = $activeSlave.slaveName, _slavename = _slavename.replace("ss", "th"), _slavename = _slavename.replace("S", "Th"), _slavename = _slavename.replace("s", "th")>>
+	<<set _name = $activeSlave.birthName>>
+	<set _name = nameReplace(_name)>>
+	<<set _slavename = $activeSlave.slaveName>>
+	<<set _slavename = nameReplace(_slavename)>>
 <<else>>
 	<<set _name = $activeSlave.birthName>>
 	<<set _slavename = $activeSlave.slaveName>>
@@ -1426,7 +1428,8 @@ You come face to face with <<EventNameLink $activeSlave>> in a hallway of your p
 <<case "used whore">>
 
 <<if SlaveStatsChecker.checkForLisp($activeSlave)>>
-	<<set _slavename = $activeSlave.slaveName, _slavename = _slavename.replace("ss", "th"), _slavename = _slavename.replace("S", "Th"), _slavename = _slavename.replace("s", "th")>>
+	<<set _slavename = $activeSlave.slaveName>>
+	<<set _slavename = nameReplace(_slavename)>>
 <<else>>
 	<<set _slavename = $activeSlave.slaveName>>
 <</if>>
@@ -3817,7 +3820,8 @@ sighing contentedly at the feeling. <<if canSee($activeSlave)>>She opens her eye
 <<case "modest clothes">>
 
 <<if SlaveStatsChecker.checkForLisp($activeSlave)>>
-	<<set _clothes = $activeSlave.clothes, _clothes = _clothes.replace("ss", "th"), _clothes = _clothes.replace("S", "Th"), _clothes = _clothes.replace("s", "th")>>
+	<<set _clothes = $activeSlave.clothes>>
+	<<set _clothes = nameReplace(_clothes)>>
 <<else>>
 	<<set _clothes = $activeSlave.clothes>>
 <</if>>
@@ -17510,7 +17514,8 @@ You tell her kindly that you understand, and that she'll be trained to address t
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
 		<<if SlaveStatsChecker.checkForLisp($activeSlave)>>
-			<<set _desc = $desc, _desc = _desc.replace("ss", "th"), _desc = _desc.replace("S", "Th"), _desc = _desc.replace("s", "th")>>
+			<<set _desc = $desc>>
+	        <<set _desc = nameReplace(_desc)>>
 		<<else>>
 			<<set _desc = $desc>>
 		<</if>>
diff --git a/src/uncategorized/addCustomDescriptors.tw b/src/uncategorized/addCustomDescriptors.tw
index 7240ae36b491344817dcf06c4bc4fb18948b0323..bb6dea80c1fd7f8ea762163925976abfe286e032 100644
--- a/src/uncategorized/addCustomDescriptors.tw
+++ b/src/uncategorized/addCustomDescriptors.tw
@@ -17,7 +17,8 @@ You may enter custom descriptors for your slave's hair color, hair style, tattoo
 				<<link "Apply">>
 					<<replace "#result">>
 						She'll try her best to call you $activeSlave.customTitle.
-						<<set $activeSlave.customTitleLisp = $activeSlave.customTitle, $activeSlave.customTitleLisp = $activeSlave.customTitleLisp.replace("ss", "th"), $activeSlave.customTitleLisp = $activeSlave.customTitleLisp.replace("S", "Th"), $activeSlave.customTitleLisp = $activeSlave.customTitleLisp.replace("s", "th")>>
+						<<set $activeSlave.customTitleLisp = $activeSlave.customTitle>>
+						<<set $activeSlave.customTitleLisp = nameReplace($activeSlave.customTitleLisp)>>
 					<</replace>>
 				<</link>>
 			<</replace>>
@@ -28,7 +29,8 @@ You may enter custom descriptors for your slave's hair color, hair style, tattoo
 		<<link "Apply">>
 			<<replace "#result">>
 				She'll try her best to call you $activeSlave.customTitle.
-				<<set $activeSlave.customTitleLisp = $activeSlave.customTitle, $activeSlave.customTitleLisp = $activeSlave.customTitleLisp.replace("ss", "th"), $activeSlave.customTitleLisp = $activeSlave.customTitleLisp.replace("S", "Th"), $activeSlave.customTitleLisp = $activeSlave.customTitleLisp.replace("s", "th")>>
+				<<set $activeSlave.customTitleLisp = $activeSlave.customTitle>>
+				<<set $activeSlave.customTitleLisp = nameReplace($activeSlave.customTitleLisp)>>
 			<</replace>>
 		<</link>> |
 		<<link "Stop using a custom title">>
diff --git a/src/uncategorized/newSlaveIntro.tw b/src/uncategorized/newSlaveIntro.tw
index b8e3741e214434c554aae02a06b805f4dad4e4d5..c25c4e4e4b2c87979a72228a7b9c55da6c15a6d3 100644
--- a/src/uncategorized/newSlaveIntro.tw
+++ b/src/uncategorized/newSlaveIntro.tw
@@ -519,7 +519,8 @@ The legalities completed, ''__@@.pink;<<SlaveFullName $activeSlave>>@@__'' <<if
 	<<if random(-100,0) >= $activeSlave.devotion>>
 		<<set $activeSlave.rudeTitle = 1>>
 		<<set $activeSlave.customTitle = setup.badNames.random()>>
-		<<set $activeSlave.customTitleLisp = $activeSlave.customTitle, $activeSlave.customTitleLisp = $activeSlave.customTitleLisp.replace("ss", "th"), $activeSlave.customTitleLisp = $activeSlave.customTitleLisp.replace("S", "Th"), $activeSlave.customTitleLisp = $activeSlave.customTitleLisp.replace("s", "th")>>
+		<<set $activeSlave.customTitleLisp = $activeSlave.customTitle>>
+		<<set $activeSlave.customTitleLisp = nameReplace($activeSlave.customTitleLisp)>>
 	<</if>>
 <</if>>
 
diff --git a/src/uncategorized/peConcubineInterview.tw b/src/uncategorized/peConcubineInterview.tw
index 5f4bed889d8fd711b149674f08ffcb0d2c0d7b91..ad0d3dab0ae343def77e8b869a01dc26206926a7 100644
--- a/src/uncategorized/peConcubineInterview.tw
+++ b/src/uncategorized/peConcubineInterview.tw
@@ -124,7 +124,8 @@ You receive an official communication from a popular talk show hosted in one of
 				<</if>>
 			<<elseif $activeSlave.bellyFluid > 100>>
 				<<if SlaveStatsChecker.checkForLisp($activeSlave)>>
-					<<set _fluid = $activeSlave.inflationType, _fluid = _fluid.replace("ss", "th"), _fluid = _fluid.replace("S", "Th"), _fluid = _fluid.replace("s", "th")>>
+					<<set _fluid = $activeSlave.inflationType>>
+					<<set _fluid = nameReplace(_fluid)>>
 				<<else>>
 					<<set _fluid = $activeSlave.inflationType>>
 				<</if>>
diff --git a/src/uncategorized/seRetirement.tw b/src/uncategorized/seRetirement.tw
index b389bbb83c0ecbc37c9a24e69ebb0904724853b0..b51c74350dd3e16beab44f293c9ca5aaa0a23cf5 100644
--- a/src/uncategorized/seRetirement.tw
+++ b/src/uncategorized/seRetirement.tw
@@ -12,7 +12,8 @@
 	<<break>>
 	<</if>>
 <</for>>
-<<set _playerName = $PC.name, _playerName = _playerName.replace("ss", "th"), _playerName = _playerName.replace("S", "Th"), _playerName = _playerName.replace("s", "th")>>
+<<set _playerName = $PC.name>>
+<<set _playerName = nameReplace(_playerName)>>
 <<Enunciate $activeSlave>>
 
 $activeSlave.slaveName is retiring from sexual slavery this week,