diff --git a/doc/wiz/familien b/doc/wiz/familien
index 11ff978..5998c3c 100644
--- a/doc/wiz/familien
+++ b/doc/wiz/familien
@@ -1,6 +1,9 @@
 FAMILIEN
 ========
 
+BESCHREIBUNG
+------------
+
 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
@@ -25,6 +28,9 @@
 personalisiert man irgendwas ueber die Familie, koennen alle Chars dieser
 Familie das irgendwas nutzen.
 
+VERWALTUNG
+----------
+
 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
@@ -37,6 +43,10 @@
 Ein solcher expliziter Familieneintrag kann wieder geloescht werden:
 # xcall /secure/zweities->DeleteFamilie("alice_654321")
 
+EM+ koennen Zweities wieder aus der Datenbank loeschen (UUID angeben!):
+# xcall /secure/zweities->DeleteZweitie("bert_12345")
+
+
 LETZTE AeNDERUNG:
   8.1.2019, Zesstra
 
diff --git a/secure/zweities.c b/secure/zweities.c
index d5e8f8c..a53756e 100644
--- a/secure/zweities.c
+++ b/secure/zweities.c
@@ -206,3 +206,41 @@
   return 1;
 }
 
+public int DeleteZweitie(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 zweities WHERE uuid=?1;", pl);
+
+  mixed tmp = sl_exec("SELECT name FROM zweities WHERE "
+                      "uuid=?1", pl);
+  if (sizeof(tmp))
+    return -1;
+
+  return 1;
+}
+
+public int DeleteTestie(object|string pl)
+{
+  if (!ARCH_SECURITY)
+    return 0;
+
+  // Wenn Spielerobjekt, UID ermitteln
+  if (objectp(pl) && query_once_interactive(pl))
+    pl = getuid(pl);
+
+  sl_exec("DELETE FROM testies WHERE name=?1;", pl);
+
+  mixed tmp = sl_exec("SELECT magier FROM testies WHERE "
+                      "name=?1", pl);
+  if (sizeof(tmp))
+    return -1;
+
+  return 1;
+}
+
