diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index 3645258f98f0ae3a43211369a90477b4439e84f1..c3eb906f39e9bff043ac2b22499310d5f3dbabd4 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -166,23 +166,15 @@ FileList={
 	},
 	do_delete:function(files){
 		if(FileList.deleteFiles || !FileList.useUndo){//finish any ongoing deletes first
+			if(!FileList.deleteFiles) {
+				FileList.prepareDeletion(files);
+			}
 			FileList.finishDelete(function(){
 				FileList.do_delete(files);
 			});
 			return;
 		}
-		if(files.substr){
-			files=[files];
-		}
-		$.each(files,function(index,file){
-			var files = $('tr').filterAttr('data-file',file);
-			files.hide();
-			files.find('input[type="checkbox"]').removeAttr('checked');
-			files.removeClass('selected');
-		});
-		procesSelection();
-		FileList.deleteCanceled=false;
-		FileList.deleteFiles=files;
+		FileList.prepareDeletion(files);
 		$('#notification').text(t('files','undo deletion'));
 		$('#notification').data('deletefile',true);
 		$('#notification').fadeIn();
@@ -209,6 +201,20 @@ FileList={
 				}
 			});
 		}
+	},
+	prepareDeletion:function(files){
+		if(files.substr){
+			files=[files];
+		}
+		$.each(files,function(index,file){
+			var files = $('tr').filterAttr('data-file',file);
+			files.hide();
+			files.find('input[type="checkbox"]').removeAttr('checked');
+			files.removeClass('selected');
+		});
+		procesSelection();
+		FileList.deleteCanceled=false;
+		FileList.deleteFiles=files;
 	}
 }