=== modifié fichier shell/rb-play-order-shuffle.c
--- shell/rb-play-order-shuffle.c	2012-01-10 17:05:11 +0000
+++ shell/rb-play-order-shuffle.c	2014-08-31 10:58:53 +0000
@@ -54,6 +54,7 @@
 					      RhythmDBEntry *old_entry,
 					      RhythmDBEntry *new_entry);
 static void rb_shuffle_entry_added (RBPlayOrder *porder, RhythmDBEntry *entry);
+static void rb_shuffle_entry_added_keep_removed (RBPlayOrder *porder, RhythmDBEntry *entry);
 static void rb_shuffle_entry_removed (RBPlayOrder *porder, RhythmDBEntry *entry);
 static void rb_shuffle_query_model_changed (RBPlayOrder *porder);
 static void rb_shuffle_db_entry_deleted (RBPlayOrder *porder, RhythmDBEntry *entry);
@@ -330,7 +331,7 @@
 		do {
 			RhythmDBEntry *entry;
 			entry = rhythmdb_query_model_iter_to_entry (model, &iter);
-			rb_shuffle_entry_added (RB_PLAY_ORDER (sorder), entry);
+			rb_shuffle_entry_added_keep_removed (RB_PLAY_ORDER (sorder), entry);
 			rhythmdb_entry_unref (entry);
 		} while (gtk_tree_model_iter_next (GTK_TREE_MODEL (model), &iter));
 	}
@@ -486,6 +487,13 @@
 }
 
 static void
+rb_shuffle_entry_added_keep_removed (RBPlayOrder *porder, RhythmDBEntry *entry)
+{
+	g_return_if_fail (RB_IS_SHUFFLE_PLAY_ORDER (porder));
+	g_hash_table_insert (RB_SHUFFLE_PLAY_ORDER (porder)->priv->entries_added, rhythmdb_entry_ref (entry), entry);
+}
+
+static void
 rb_shuffle_entry_removed (RBPlayOrder *porder, RhythmDBEntry *entry)
 {
 	g_return_if_fail (RB_IS_SHUFFLE_PLAY_ORDER (porder));


