diff --git a/src/npc/startingGirls/editFamily.js b/src/npc/startingGirls/editFamily.js
index c62304af2292d40cee7f52cf816e119d69dfae7d..9f539753821260d705165250644d49bfc20e79f3 100644
--- a/src/npc/startingGirls/editFamily.js
+++ b/src/npc/startingGirls/editFamily.js
@@ -17,6 +17,7 @@ App.Intro.editFamily = function(slave, cheat) {
 	editFamily.append(makeFamilyTable());
 	editFamily.append(makeElWithID("family-tree"));
 	el.append(editFamily);
+	setTimeout(() => App.StartingGirls.uncommittedFamilyTree(slave), 0);
 
 	return el;
 
diff --git a/src/npc/startingGirls/startingGirls.js b/src/npc/startingGirls/startingGirls.js
index 28fc3195983547aad27c0a744b8f357a36de1268..fb5a18b12935dadacf6cc20b45ac73083aaedb34 100644
--- a/src/npc/startingGirls/startingGirls.js
+++ b/src/npc/startingGirls/startingGirls.js
@@ -291,8 +291,8 @@ App.StartingGirls.listOfSlavesWithParent = function(parent, id) {
  * @param {App.Entity.SlaveState} slave
  */
 App.StartingGirls.uncommittedFamilyTree = function(slave) {
-	let tSlaves = V.slaves.concat([slave]); // returns a new array
-	renderFamilyTree(tSlaves, slave.ID);
+	let tSlaves = V.slaves.filter(s => s.ID !== slave.ID); // exclude the unedited copy of this slave, if it exists
+	renderFamilyTree(tSlaves.concat([slave]), slave.ID);
 };
 
 /** Get the automatic origin that would be used for a slave, without actually changing the slave