Index: src/totem.c
===================================================================
--- src/totem.c	(revision 3901)
+++ src/totem.c	(working copy)
@@ -1385,7 +1385,7 @@
 }
 
 static void
-drop_video_cb (GtkWidget     *widget,
+drop_video_cb (GtkWidget    *widget,
 	 GdkDragContext     *context,
 	 gint                x,
 	 gint                y,
@@ -1394,14 +1394,16 @@
 	 guint               time,
 	 Totem              *totem)
 {
-	gboolean retval;
+	gboolean retval, clear_playlist;
 
-	retval = totem_action_drop_files (totem, data, info, TRUE);
+	clear_playlist = (context->action != GDK_ACTION_COPY);
+
+	retval = totem_action_drop_files (totem, data, info, clear_playlist);
 	gtk_drag_finish (context, retval, FALSE, time);
 }
 
 static void
-drop_playlist_cb (GtkWidget     *widget,
+drop_playlist_cb (GtkWidget       *widget,
 	       GdkDragContext     *context,
 	       gint                x,
 	       gint                y,
@@ -1410,9 +1412,11 @@
 	       guint               time,
 	       Totem              *totem)
 {
-	gboolean retval;
+	gboolean retval, clear_playlist;
 
-	retval = totem_action_drop_files (totem, data, info, FALSE);
+	clear_playlist = (context->action != GDK_ACTION_COPY);
+
+	retval = totem_action_drop_files (totem, data, info, clear_playlist);
 	gtk_drag_finish (context, retval, FALSE, time);
 }
 
