diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index c52e414e3a79d19c81eff235804d2440bbef3ff5..3e12573c046b09ae0b7fa5b5496d123f03888ab3 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -193,7 +193,19 @@
 			this.$container = options.scrollContainer || $(window);
 			this.$table = $el.find('table:first');
 			this.$fileList = $el.find('#fileList');
+
+			if (_.isUndefined(options.detailsViewEnabled) || options.detailsViewEnabled) {
+				this._detailsView = new OCA.Files.DetailsView();
+				this._detailsView.$el.insertBefore(this.$el);
+				this._detailsView.$el.addClass('disappear');
+			}
+
 			this._initFileActions(options.fileActions);
+
+			if (this._detailsView) {
+				this._detailsView.addDetailView(new OCA.Files.MainFileInfoDetailView({fileList: this, fileActions: this.fileActions}));
+			}
+
 			this.files = [];
 			this._selectedFiles = {};
 			this._selectionSummary = new OCA.Files.FileSummary();
@@ -214,13 +226,6 @@
 			}
 			this.breadcrumb = new OCA.Files.BreadCrumb(breadcrumbOptions);
 
-			if (_.isUndefined(options.detailsViewEnabled) || options.detailsViewEnabled) {
-				this._detailsView = new OCA.Files.DetailsView();
-				this._detailsView.addDetailView(new OCA.Files.MainFileInfoDetailView({fileList: this, fileActions: this.fileActions}));
-				this._detailsView.$el.insertBefore(this.$el);
-				this._detailsView.$el.addClass('disappear');
-			}
-
 			this.$el.find('#controls').prepend(this.breadcrumb.$el);
 
 			this._renderNewButton();
@@ -285,11 +290,25 @@
 		 * @param {OCA.Files.FileActions} fileActions file actions
 		 */
 		_initFileActions: function(fileActions) {
+			var self = this;
 			this.fileActions = fileActions;
 			if (!this.fileActions) {
 				this.fileActions = new OCA.Files.FileActions();
 				this.fileActions.registerDefaultActions();
 			}
+
+			if (this._detailsView) {
+				this.fileActions.registerAction({
+					name: 'Details',
+					mime: 'all',
+					permissions: OC.PERMISSION_READ,
+					actionHandler: function(fileName, context) {
+						self._updateDetailsView(fileName);
+						OC.Apps.showAppSidebar();
+					}
+				});
+			}
+
 			this._onFileActionsUpdated = _.debounce(_.bind(this._onFileActionsUpdated, this), 100);
 			this.fileActions.on('registerAction', this._onFileActionsUpdated);
 			this.fileActions.on('setDefault', this._onFileActionsUpdated);
@@ -366,7 +385,6 @@
 			}
 
 			if (!fileName) {
-				OC.Apps.hideAppSidebar(this._detailsView.$el);
 				this._detailsView.setFileInfo(null);
 				if (this._currentFileModel) {
 					this._currentFileModel.off();
@@ -384,7 +402,6 @@
 
 			this._detailsView.setFileInfo(model);
 			this._detailsView.$el.scrollTop(0);
-			_.defer(OC.Apps.showAppSidebar, this._detailsView.$el);
 		},
 
 		/**