diff --git a/formulaires/supprimer_blocktypes.php b/formulaires/supprimer_blocktypes.php
index 1e1fbb301e0c3733f171c2033690efbaafe9ff05..26888996ed676187a6c40a1b467859edadbd6239 100644
--- a/formulaires/supprimer_blocktypes.php
+++ b/formulaires/supprimer_blocktypes.php
@@ -15,14 +15,25 @@ function formulaires_supprimer_blocktypes_charger() {
 }
 
 function formulaires_supprimer_blocktypes_traiter() {
-	if (
-		sql_drop_table('spip_blocktypes')
-		&& sql_drop_table('spip_blocktypes_liens')
-	) {
-		$retour['message_ok'] = 'Tables supprimées';
-	} else {
-		$retour['message_erreur'] = 'Erreur de suppression';
+	if (sql_showtable('spip_blocktypes')) {
+		if (!sql_drop_table('spip_blocktypes')) {
+			$retour['message_erreur'] = 'Impossible de supprimer la table spip_blocktypes.';
+
+			return $retour;
+		}
+	}
+	if (sql_showtable('spip_blocktypes_liens')) {
+		if (!sql_drop_table('spip_blocktypes_liens')) {
+			$retour['message_erreur'] = 'Impossible de supprimer la table spip_blocktypes_liens.';
+
+			return $retour;
+		}
+	}
+	if (!sql_delete('spip_auteurs_liens', 'objet="blocktype"')) {
+		$retour['message_erreur'] = 'Impossible de supprimer les enregistrements de spip_auteurs_liens.';
+
+		return $retour;
 	}
 
-	return $retour;
+	return ['message_ok' => 'Tables supprimées'];
 }