diff -ur file-roller-2.20.2/src/fr-command-tar.c file-roller-2.20.2.new/src/fr-command-tar.c
--- file-roller-2.20.2/src/fr-command-tar.c	2007-12-27 18:04:57.557298049 +0100
+++ file-roller-2.20.2.new/src/fr-command-tar.c	2007-12-27 18:20:00.661298522 +0100
@@ -321,12 +321,15 @@
 		g_free (e_base_dir);
 	}
 
-	if (! g_file_test (c_tar->uncomp_filename, G_FILE_TEST_EXISTS))
+	if (g_file_test (comm->filename, G_FILE_TEST_EXISTS)) {
+		if (update)
+			fr_process_add_arg (comm->process, "-uf");
+		else
+			fr_process_add_arg (comm->process, "-rf");
+	}
+	else 	
 		fr_process_add_arg (comm->process, "-cf");
-	else if (update)
-		fr_process_add_arg (comm->process, "-uf");
-	else
-		fr_process_add_arg (comm->process, "-rf");
+		
 
 	fr_process_add_arg (comm->process, c_tar->uncomp_filename);
 	fr_process_add_arg (comm->process, "--");
