diff --git a/doc/wiz/familien b/doc/wiz/familien
index 39bf831..11ff978 100644
--- a/doc/wiz/familien
+++ b/doc/wiz/familien
@@ -1,3 +1,6 @@
+FAMILIEN
+========
+
 Eine Familie umfasst den Erstie und alle Zweities, sprich alle diese haben den
 gleichen "Familiennamen". Dieser Name ist in der Regel die UUID des Ersties
 dieser Familie. Falls aber der Erstie sich aendern sollte (z.B. Magierwerdung
@@ -22,3 +25,18 @@
 personalisiert man irgendwas ueber die Familie, koennen alle Chars dieser
 Familie das irgendwas nutzen.
 
+Wenn sich der Erstie aendert, aber die Familie aller Zweities erhalten bleiben
+soll (z.B. weil sich der Erstie innerhalb der Familie wegen Magierwerdung
+aendert), muss dies in der Familienverwaltung hinterlegt werden, indem fuer
+den *neuen* Erstie die alte Familien-ID eingetragen wird. Dies koennen zur
+Zeit EM+.
+
+Beispiel: Der alte Erstie einer Familie ist bert_123456, der neue Erstie ist
+alice_654321. Die Familie soll aber weiterhin bert_123456 sein:
+# xcall /secure/zweities->SetFamilie("alice_654321, "bert_123456")
+Ein solcher expliziter Familieneintrag kann wieder geloescht werden:
+# xcall /secure/zweities->DeleteFamilie("alice_654321")
+
+LETZTE AeNDERUNG:
+  8.1.2019, Zesstra
+
diff --git a/secure/zweities.c b/secure/zweities.c
index 3501523..d5e8f8c 100644
--- a/secure/zweities.c
+++ b/secure/zweities.c
@@ -166,3 +166,43 @@
   return erstie;
 }
 
+public string SetFamilie(object|string pl, string familie)
+{
+  if (!ARCH_SECURITY)
+    return 0;
+
+  // Wenn Spielerobjekt, UUID ermitteln
+  if (objectp(pl) && query_once_interactive(pl))
+    pl = getuuid(pl);
+
+  sl_exec("INSERT OR REPLACE INTO familien(erstieuuid, familie) "
+          "VALUES(?1, ?2);", pl, familie);
+
+  mixed tmp = sl_exec("SELECT familie FROM familien WHERE "
+                      "erstieuuid=?1", pl);
+  if (sizeof(tmp))
+    return tmp[0][0];
+
+  return 0;
+}
+
+public int DeleteFamilie(object|string pl)
+{
+  if (!ARCH_SECURITY)
+    return 0;
+
+  // Wenn Spielerobjekt, UUID ermitteln
+  if (objectp(pl) && query_once_interactive(pl))
+    pl = getuuid(pl);
+
+  sl_exec("DELETE FROM familien WHERE erstieuuid=?1;",
+          pl);
+
+  mixed tmp = sl_exec("SELECT familie FROM familien WHERE "
+                      "erstieuuid=?1", pl);
+  if (sizeof(tmp))
+    return -1;
+
+  return 1;
+}
+
