diff --git a/api/funkwhale_api/playlists/migrations/0004_auto_20180319_1642.py b/api/funkwhale_api/playlists/migrations/0004_auto_20180320_1713.py
similarity index 76%
rename from api/funkwhale_api/playlists/migrations/0004_auto_20180319_1642.py
rename to api/funkwhale_api/playlists/migrations/0004_auto_20180320_1713.py
index f4a52529105cc00759f2392b8ecb1ab350058e31..415b53612a43178051a4103a0d415ff2f7583d02 100644
--- a/api/funkwhale_api/playlists/migrations/0004_auto_20180319_1642.py
+++ b/api/funkwhale_api/playlists/migrations/0004_auto_20180320_1713.py
@@ -1,4 +1,4 @@
-# Generated by Django 2.0.3 on 2018-03-19 16:42
+# Generated by Django 2.0.3 on 2018-03-20 17:13
 
 from django.db import migrations, models
 
@@ -20,4 +20,8 @@ class Migration(migrations.Migration):
             name='index',
             field=models.PositiveIntegerField(blank=True, null=True),
         ),
+        migrations.AlterUniqueTogether(
+            name='playlisttrack',
+            unique_together=set(),
+        ),
     ]
diff --git a/api/tests/playlists/test_models.py b/api/tests/playlists/test_models.py
index da3e23e280a6bfc431f41efca0eec4adbed68275..414ecaffc48913a53e95ae8bbed37ff5e9eca6e6 100644
--- a/api/tests/playlists/test_models.py
+++ b/api/tests/playlists/test_models.py
@@ -44,12 +44,9 @@ def test_can_insert_at_index(factories):
 
 def test_can_insert_and_move(factories):
     playlist = factories['playlists.Playlist']()
-    first = factories['playlists.PlaylistTrack'](playlist=playlist)
-    second = factories['playlists.PlaylistTrack'](playlist=playlist)
-    third = factories['playlists.PlaylistTrack'](playlist=playlist)
-    playlist.insert(first)
-    playlist.insert(second)
-    playlist.insert(third)
+    first = factories['playlists.PlaylistTrack'](playlist=playlist, index=0)
+    second = factories['playlists.PlaylistTrack'](playlist=playlist, index=1)
+    third = factories['playlists.PlaylistTrack'](playlist=playlist, index=2)
 
     playlist.insert(second, index=0)
 
@@ -62,6 +59,23 @@ def test_can_insert_and_move(factories):
     assert first.index == 1
 
 
+def test_can_insert_and_move_last_to_0(factories):
+    playlist = factories['playlists.Playlist']()
+    first = factories['playlists.PlaylistTrack'](playlist=playlist, index=0)
+    second = factories['playlists.PlaylistTrack'](playlist=playlist, index=1)
+    third = factories['playlists.PlaylistTrack'](playlist=playlist, index=2)
+
+    playlist.insert(third, index=0)
+
+    first.refresh_from_db()
+    second.refresh_from_db()
+    third.refresh_from_db()
+
+    assert third.index == 0
+    assert first.index == 1
+    assert second.index == 2
+
+
 def test_cannot_insert_at_wrong_index(factories):
     plt = factories['playlists.PlaylistTrack']()
     new = factories['playlists.PlaylistTrack'](playlist=plt.playlist)