diff --git a/thunar/thunar-application.c b/thunar/thunar-application.c
index 1b2fd11a3de82a986050f012a2b1ab7e31822324..10a508874c6efb243913696ba868769c5a48e4e0 100644
--- a/thunar/thunar-application.c
+++ b/thunar/thunar-application.c
@@ -2417,8 +2417,8 @@ thunar_application_restore_files (ThunarApplication *application,
       /* TODO we might have to distinguish between URIs and paths here */
       target_path = g_file_new_for_commandline_arg (original_uri);
 
-      source_path_list = thunar_g_file_list_append (source_path_list, thunar_file_get_file (lp->data));
-      target_path_list = thunar_g_file_list_append (target_path_list, target_path);
+      source_path_list = thunar_g_list_append_deep (source_path_list, thunar_file_get_file (lp->data));
+      target_path_list = thunar_g_list_append_deep (target_path_list, target_path);
 
       g_object_unref (target_path);
     }
diff --git a/thunar/thunar-dbus-service.c b/thunar/thunar-dbus-service.c
index 780648857605288f8848b79ea6037178c22806f3..298e2403951ad3079527d6f7734733a879e8fc47 100644
--- a/thunar/thunar-dbus-service.c
+++ b/thunar/thunar-dbus-service.c
@@ -852,7 +852,7 @@ thunar_dbus_service_move_to_trash (ThunarDBusTrash        *object,
               /* determine the path for the filename */
               /* TODO Not sure this will work as expected */
               file = g_file_new_for_commandline_arg (filename);
-              file_list = thunar_g_file_list_append (file_list, file);
+              file_list = thunar_g_list_append_deep (file_list, file);
               g_object_unref (file);
             }
 
@@ -1195,7 +1195,7 @@ thunar_dbus_service_transfer_files (ThunarDBusTransferMode transfer_mode,
           if (filename != NULL)
             {
               file = g_file_new_for_commandline_arg (filename);
-              source_file_list = thunar_g_file_list_append (source_file_list, file);
+              source_file_list = thunar_g_list_append_deep (source_file_list, file);
               g_object_unref (file);
               g_free (filename);
             }
@@ -1208,7 +1208,7 @@ thunar_dbus_service_transfer_files (ThunarDBusTransferMode transfer_mode,
           if (filename != NULL)
             {
               file = g_file_new_for_commandline_arg (filename);
-              target_file_list = thunar_g_file_list_append (target_file_list, file);
+              target_file_list = thunar_g_list_append_deep (target_file_list, file);
               g_object_unref (file);
               g_free (filename);
             }
diff --git a/thunar/thunar-gio-extensions.h b/thunar/thunar-gio-extensions.h
index d4fd1fea098c38e5b34b6bf2a0b2d928081c8763..d572e5beec672283e057a70609f0e97fdb6718d8 100644
--- a/thunar/thunar-gio-extensions.h
+++ b/thunar/thunar-gio-extensions.h
@@ -77,7 +77,7 @@ gchar   **thunar_g_file_list_to_stringv             (GList             *list);
 GList    *thunar_g_file_list_get_parents            (GList             *list);
 
 /* deep copy jobs for GLists */
-#define   thunar_g_file_list_append(list,object)    g_list_append (list, g_object_ref (G_OBJECT (object)))
+#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_file_list_copy                   thunarx_file_info_list_copy
 #define   thunar_g_file_list_free                   thunarx_file_info_list_free
diff --git a/thunar/thunar-launcher.c b/thunar/thunar-launcher.c
index 4e6399f1cf56356c389c50ed04d18c7a643d92ce..ebde68d8c27fc7a3bb3c85f5f6250227c4c82fad 100644
--- a/thunar/thunar-launcher.c
+++ b/thunar/thunar-launcher.c
@@ -849,7 +849,7 @@ thunar_launcher_open_files (ThunarLauncher *launcher,
             }
 
           /* append our new URI to the list */
-          file_list = thunar_g_file_list_append (file_list, thunar_file_get_file (lp->data));
+          file_list = thunar_g_list_append_deep (file_list, thunar_file_get_file (lp->data));
 
           /* (re)insert the URI list for the application */
           g_hash_table_insert (applications, app_info, file_list);
diff --git a/thunar/thunar-transfer-job.c b/thunar/thunar-transfer-job.c
index 9aea343642cb8dfd37be82e0a90c5612ff294847..43ad29334f1df45c936cec188a7fcfbb87063b6c 100644
--- a/thunar/thunar-transfer-job.c
+++ b/thunar/thunar-transfer-job.c
@@ -1670,7 +1670,7 @@ thunar_transfer_job_new (GList                *source_node_list,
           job->source_node_list = g_list_append (job->source_node_list, node);
 
           /* append target file */
-          job->target_file_list = thunar_g_file_list_append (job->target_file_list, tp->data);
+          job->target_file_list = thunar_g_list_append_deep (job->target_file_list, tp->data);
         }
     }