diff --git a/thunar/thunar-application.c b/thunar/thunar-application.c
index 10a508874c6efb243913696ba868769c5a48e4e0..688d149ecc50afe8ea92d429b1b59abde7067173 100644
--- a/thunar/thunar-application.c
+++ b/thunar/thunar-application.c
@@ -739,7 +739,7 @@ thunar_application_collect_and_launch (ThunarApplication *application,
           g_free (base_name);
 
           /* add to the target file list */
-          target_file_list = thunar_g_file_list_prepend (target_file_list, file);
+          target_file_list = thunar_g_list_prepend_deep (target_file_list, file);
           g_object_unref (file);
         }
     }
@@ -2121,7 +2121,7 @@ thunar_application_unlink_files (ThunarApplication *application,
   for (lp = g_list_last (file_list); lp != NULL; lp = lp->prev, ++n_path_list)
     {
       /* prepend the path to the path list */
-      path_list = thunar_g_file_list_prepend (path_list, thunar_file_get_file (lp->data));
+      path_list = thunar_g_list_prepend_deep (path_list, thunar_file_get_file (lp->data));
 
       /* permanently delete if at least one of the file is not a local
        * file (e.g. resides in the trash) or cannot be trashed */
diff --git a/thunar/thunar-gio-extensions.h b/thunar/thunar-gio-extensions.h
index d572e5beec672283e057a70609f0e97fdb6718d8..9a68e59c9bda95d7afb2c4222e0ca6084744be82 100644
--- a/thunar/thunar-gio-extensions.h
+++ b/thunar/thunar-gio-extensions.h
@@ -78,7 +78,7 @@ GList    *thunar_g_file_list_get_parents            (GList             *list);
 
 /* deep copy jobs for GLists */
 #define   thunar_g_list_append_deep(list,object)    g_list_append (list, g_object_ref (G_OBJECT (object)))
-#define   thunar_g_file_list_prepend(list,object)   g_list_prepend (list, g_object_ref (G_OBJECT (object)))
+#define   thunar_g_list_prepend_deep(list,object)   g_list_prepend (list, g_object_ref (G_OBJECT (object)))
 #define   thunar_g_file_list_copy                   thunarx_file_info_list_copy
 #define   thunar_g_file_list_free                   thunarx_file_info_list_free
 
diff --git a/thunar/thunar-io-jobs.c b/thunar/thunar-io-jobs.c
index fb480b72019a3cfd795609f985d0af81d2a91241..9c5635ef841c733a123b8b3229e042c1436072b9 100644
--- a/thunar/thunar-io-jobs.c
+++ b/thunar/thunar-io-jobs.c
@@ -65,7 +65,7 @@ _tij_collect_nofollow (ThunarJob *job,
                                                   TRUE, unlinking, FALSE, &err);
 
       /* prepend the new files to the existing list */
-      file_list = thunar_g_file_list_prepend (file_list, lp->data);
+      file_list = thunar_g_list_prepend_deep (file_list, lp->data);
       file_list = g_list_concat (child_file_list, file_list);
     }
 
@@ -784,7 +784,7 @@ _thunar_io_jobs_link (ThunarJob  *job,
           /* queue the file for the folder update unless it was skipped */
           if (sp->data != real_target_file)
             {
-              new_files_list = thunar_g_file_list_prepend (new_files_list,
+              new_files_list = thunar_g_list_prepend_deep (new_files_list,
                                                            real_target_file);
 
               /* notify the thumbnail cache that we need to copy the original
diff --git a/thunar/thunar-io-scan-directory.c b/thunar/thunar-io-scan-directory.c
index 8072db1d0ccb02efc0d15a80bb63221693e13e38..307564b06487a0ee1003b57cf1b08d752c66c992 100644
--- a/thunar/thunar-io-scan-directory.c
+++ b/thunar/thunar-io-scan-directory.c
@@ -136,13 +136,13 @@ thunar_io_scan_directory (ThunarJob          *job,
         {
           /* Prepend the ThunarFile */
           thunar_file = thunar_file_get_with_info (child_file, info, !is_mounted);
-          files = thunar_g_file_list_prepend (files, thunar_file);
+          files = thunar_g_list_prepend_deep (files, thunar_file);
           g_object_unref (G_OBJECT (thunar_file));
         }
       else
         {
           /* Prepend the GFile */
-          files = thunar_g_file_list_prepend (files, child_file);
+          files = thunar_g_list_prepend_deep (files, child_file);
         }
 
       /* if the child is a directory and we need to recurse ... just do so */
diff --git a/thunar/thunar-transfer-job.c b/thunar/thunar-transfer-job.c
index 43ad29334f1df45c936cec188a7fcfbb87063b6c..527f4d4fe76e9c25a638cab64fe0dab01d460be4 100644
--- a/thunar/thunar-transfer-job.c
+++ b/thunar/thunar-transfer-job.c
@@ -779,7 +779,7 @@ retry_copy:
               if (G_LIKELY (target_file_list_return != NULL))
                 {
                   *target_file_list_return =
-                    thunar_g_file_list_prepend (*target_file_list_return,
+                    thunar_g_list_prepend_deep (*target_file_list_return,
                                                 real_target_file);
                 }
 
@@ -1133,7 +1133,7 @@ thunar_transfer_job_move_file (ExoJob                *job,
                                             tp->data);
 
           /* add the target file to the new files list */
-          *new_files_list_p = thunar_g_file_list_prepend (*new_files_list_p, tp->data);
+          *new_files_list_p = thunar_g_list_prepend_deep (*new_files_list_p, tp->data);
         }
 
       /* release source and target files */