diff --git a/telegram_to_rss/models/feed_entry.py b/telegram_to_rss/models/feed_entry.py
index 7be6a61..96d8030 100644
--- a/telegram_to_rss/models/feed_entry.py
+++ b/telegram_to_rss/models/feed_entry.py
@@ -1,4 +1,4 @@
-import asyncio
+import logging
 from tortoise.models import Model
 from tortoise import fields
 from tortoise.signals import post_delete
@@ -18,14 +18,17 @@ class FeedEntry(Model):
     has_unsupported_media = fields.BooleanField(default=False)
 
 
-@post_delete
+@post_delete(FeedEntry)
 async def remove_associated_file(
     sender: Type[FeedEntry],
     instance: FeedEntry,
+    using_db
 ) -> None:
-    await asyncio.gather(
-        *[
-            Path(static_path).joinpath(media_relative_path).unlink(missing_ok=True)
-            for media_relative_path in instance.media
-        ]
-    )
+    try:
+        for media_relative_path in instance.media:
+            file_path = Path(static_path).joinpath(media_relative_path)
+            await file_path.unlink(missing_ok=True)
+            logging.debug(f"File removed: {file_path}")
+
+    except Exception as e:
+        logging.error(f"Error while removing FeedEntry id {instance.id}: {e}")
diff --git a/telegram_to_rss/poll_telegram.py b/telegram_to_rss/poll_telegram.py
index 5aacc71..f9ab418 100644
--- a/telegram_to_rss/poll_telegram.py
+++ b/telegram_to_rss/poll_telegram.py
@@ -116,9 +116,9 @@ async def update_feed(self, dialog: custom.Dialog):
             .offset(self._message_limit)
         )
 
-        await FeedEntry.filter(
-            Q(id__in=[entry.id for entry in old_feed_entries])
-        ).delete()
+        for entry in old_feed_entries:
+            logging.debug(f"Deleting FeedEntry with id: {entry.id}")
+            await entry.delete()
 
     async def _process_new_dialog_messages(
         self, feed: Feed, dialog_messages: list[custom.Message]