diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index 593f182cf73177f86c6bfa153002764704778e09..24a6f4ec6e269c02afafbdb3913f840e04e9d9e8 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -1387,7 +1387,7 @@
 				return;
 			}
 			this._setCurrentDir(targetDir, changeUrl, fileId);
-			this.reload().then(function(success){
+			return this.reload().then(function(success){
 				if (!success) {
 					self.changeDirectory(currentDir, true);
 				}
diff --git a/apps/files/js/gotoplugin.js b/apps/files/js/gotoplugin.js
new file mode 100644
index 0000000000000000000000000000000000000000..69ec64b0266a7c93a0ece25c9b22c89e08b9480e
--- /dev/null
+++ b/apps/files/js/gotoplugin.js
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2016 Robin Appelman <robin@icewind.nl>
+ *
+ * This file is licensed under the Affero General Public License version 3
+ * or later.
+ *
+ * See the COPYING-README file.
+ *
+ */
+
+
+(function (OCA) {
+
+	OCA.Files = OCA.Files || {};
+
+	/**
+	 * @namespace OCA.Files.GotoPlugin
+	 *
+	 */
+	OCA.Files.GotoPlugin = {
+		name: 'Goto',
+
+		disallowedLists: [
+			'files',
+			'trashbin'
+		],
+
+		attach: function (fileList) {
+			if (this.disallowedLists.indexOf(fileList.id) !== -1) {
+				return;
+			}
+			var fileActions = fileList.fileActions;
+
+			fileActions.registerAction({
+				name: 'Goto',
+				displayName: t('files', 'View in folder'),
+				mime: 'all',
+				permissions: OC.PERMISSION_ALL,
+				iconClass: 'icon-goto nav-icon-extstoragemounts',
+				type: OCA.Files.FileActions.TYPE_DROPDOWN,
+				actionHandler: function (fileName, context) {
+					var fileModel = context.fileInfoModel;
+					OCA.Files.App.setActiveView('files', {silent: true});
+					OCA.Files.App.fileList.changeDirectory(fileModel.get('path'), true, true).then(function() {
+						OCA.Files.App.fileList.scrollTo(fileModel.get('name'));
+					});
+				},
+				render: function (actionSpec, isDefault, context) {
+					return fileActions._defaultRenderAction.call(fileActions, actionSpec, isDefault, context)
+						.removeClass('permanent');
+				}
+			});
+		}
+	};
+})(OCA);
+
+OC.Plugins.register('OCA.Files.FileList', OCA.Files.GotoPlugin);
+
diff --git a/apps/files/lib/Controller/ViewController.php b/apps/files/lib/Controller/ViewController.php
index 30d5bb87f1397470f3838585ba19668dbf3fe307..1137f47c6d2d1318ff2703fd31414c3ce6da7d5e 100644
--- a/apps/files/lib/Controller/ViewController.php
+++ b/apps/files/lib/Controller/ViewController.php
@@ -171,6 +171,7 @@ class ViewController extends Controller {
 
 		\OCP\Util::addScript('files', 'favoritesfilelist');
 		\OCP\Util::addScript('files', 'tagsplugin');
+		\OCP\Util::addScript('files', 'gotoplugin');
 		\OCP\Util::addScript('files', 'favoritesplugin');
 
 		\OCP\Util::addScript('files', 'detailfileinfoview');