diff --git a/api/funkwhale_api/music/management/commands/import_files.py b/api/funkwhale_api/music/management/commands/import_files.py
index c2f94da5a6cf0ed1edf46819db7623216707cd50..bd256458022c4448ca3a52c7fca1b96328a312fc 100644
--- a/api/funkwhale_api/music/management/commands/import_files.py
+++ b/api/funkwhale_api/music/management/commands/import_files.py
@@ -17,6 +17,7 @@ from django.core.files import File
 from django.core.management import call_command
 from django.core.management.base import BaseCommand, CommandError
 from django.db.models import Q
+from django.db.utils import IntegrityError
 from django.utils import timezone
 
 from rest_framework import serializers
@@ -832,6 +833,13 @@ def check_upload(stdout, upload):
             except serializers.ValidationError as e:
                 stdout.write("  Invalid metadata: {}".format(e))
                 return
+            except IntegrityError:
+                stdout.write(
+                    "  Duplicate key violation for metadata. Skipping...\n{}".format(
+                        upload.source
+                    )
+                )
+                return
             else:
                 upload.checksum = checksum
                 upload.save(update_fields=["checksum"])