diff --git a/api/tests/federation/test_serializers.py b/api/tests/federation/test_serializers.py
index 45778ed484ca2022e455c43b1e18f425dde62093..71407dc43f1cb9c3c84001fbf9b6ab5096aeb6c5 100644
--- a/api/tests/federation/test_serializers.py
+++ b/api/tests/federation/test_serializers.py
@@ -262,6 +262,25 @@ def test_activity_pub_audio_serializer_to_library_track(factories):
     assert lt.published_date == arrow.get(audio['published'])
 
 
+def test_activity_pub_audio_serializer_to_library_track_no_duplicate(
+        factories):
+    remote_library = factories['federation.Library']()
+    audio = factories['federation.Audio']()
+    serializer1 = serializers.AudioSerializer(
+        data=audio, context={'library': remote_library})
+    serializer2 = serializers.AudioSerializer(
+        data=audio, context={'library': remote_library})
+
+    assert serializer1.is_valid() is True
+    assert serializer2.is_valid() is True
+
+    lt1 = serializer1.save()
+    lt2 = serializer2.save()
+
+    assert lt1 == lt2
+    assert models.LibraryTrack.objects.count() == 1
+
+
 def test_activity_pub_audio_serializer_to_ap(factories):
     tf = factories['music.TrackFile'](mimetype='audio/mp3')
     library = actors.SYSTEM_ACTORS['library'].get_actor_instance()