diff --git a/src/d_clisrv.c b/src/d_clisrv.c
index 43ac12c9320f7662e27ed89db4356c234c1df1f1..12145c5c8fb7cba28d165c9fbaf6bbe858d9fe88 100644
--- a/src/d_clisrv.c
+++ b/src/d_clisrv.c
@@ -2870,11 +2870,15 @@ void D_SaveBan(void)
 	size_t i;
 	banreason_t *reasonlist = reasonhead;
 	const char *address, *mask;
+	const char *path = va("%s"PATHSEP"%s", srb2home, "ban.txt");
 
 	if (!reasonhead)
+	{
+		remove(path);
 		return;
+	}
 
-	f = fopen(va("%s"PATHSEP"%s", srb2home, "ban.txt"), "w");
+	f = fopen(path, "w");
 
 	if (!f)
 	{