diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index 11d335434242acb843cdec2a95a62543bfc7b953..2d3e96fbd28211a079ffe554a379665dc4a94698 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -714,8 +714,6 @@ window.FileList = {
 				previousDir: currentDir
 			}
 		));
-		this._selectedFiles = {};
-		this._selectionSummary.clear();
 		this.reload();
 	},
 	linkTo: function(dir) {
@@ -776,6 +774,9 @@ window.FileList = {
 	 * @brief Reloads the file list using ajax call
 	 */
 	reload: function() {
+		this._selectedFiles = {};
+		this._selectionSummary.clear();
+		this.$el.find('#select_all').prop('checked', false);
 		FileList.showMask();
 		if (FileList._reloadCall) {
 			FileList._reloadCall.abort();
diff --git a/apps/files/tests/js/filelistSpec.js b/apps/files/tests/js/filelistSpec.js
index 0c56e7975f84e4fd43c67785d9d240b092d63bc6..1a6398051042ffde0b3bcd91cc096aa5b571f5a7 100644
--- a/apps/files/tests/js/filelistSpec.js
+++ b/apps/files/tests/js/filelistSpec.js
@@ -1421,6 +1421,12 @@ describe('FileList tests', function() {
 				});
 			});
 		});
+		it('resets the file selection on reload', function() {
+			FileList.$el.find('#select_all').click();
+			FileList.reload();
+			expect(FileList.$el.find('#select_all').prop('checked')).toEqual(false);
+			expect(FileList.getSelectedFiles()).toEqual([]);
+		});
 	});
 	describe('Sorting files', function() {
 		it('Sorts by name by default', function() {