diff --git a/db/migrations/5.1.43_cleanup_forum_tables.php b/db/migrations/5.1.43_cleanup_forum_tables.php
new file mode 100644
index 0000000000000000000000000000000000000000..6f0746957243105222e6f6134e0040413c49339e
--- /dev/null
+++ b/db/migrations/5.1.43_cleanup_forum_tables.php
@@ -0,0 +1,20 @@
+<?php
+final class CleanupForumTables extends Migration
+{
+    protected function up()
+    {
+        $query = "DELETE FROM `forum_abo_users`
+                  WHERE `user_id` NOT IN (
+                      SELECT `user_id`
+                      FROM `auth_user_md5`
+                  )";
+        DBManager::get()->exec($query);
+
+        $query = "DELETE FROM `forum_favorites`
+                  WHERE `user_id` NOT IN (
+                      SELECT `user_id`
+                      FROM `auth_user_md5`
+                  )";
+        DBManager::get()->exec($query);
+    }
+}
diff --git a/lib/classes/UserManagement.class.php b/lib/classes/UserManagement.class.php
index e44a71395298b7e79ac7ebf71f6ee121383a155f..516c9040a3ae2d222909c741c47e2f50aa4dcddc 100644
--- a/lib/classes/UserManagement.class.php
+++ b/lib/classes/UserManagement.class.php
@@ -1187,6 +1187,8 @@ class UserManagement
             "DELETE FROM evalanswer_user WHERE user_id = ?",
             "DELETE FROM help_tour_user WHERE user_id = ?",
             "DELETE FROM personal_notifications_user WHERE user_id = ?",
+            "DELETE FROM forum_abo_users WHERE user_id = ?",
+            "DELETE FROM forum_favorites WHERE user_id = ?",
 
             "DELETE FROM comments WHERE user_id = ?",
             "DELETE questionnaires FROM questionnaires LEFT JOIN questionnaire_assignments qa USING (`questionnaire_id`) WHERE qa.range_id = ?",