diff --git a/apps/files/css/detailsView.css b/apps/files/css/detailsView.css
index a62bcd8c968c21f626e2700bc20dd8c88a24c47d..5b9b51a16d35d31ed26a73334dcde778d9a010e8 100644
--- a/apps/files/css/detailsView.css
+++ b/apps/files/css/detailsView.css
@@ -8,9 +8,9 @@
 	position: absolute;
 	width: 350px;
 	top: 0;
-	bottom: 0;
 	right: 0;
 	left: auto;
+	min-height: 100%;
 	background-color: white;
 	-webkit-transition: margin-right 300ms;
 	-moz-transition: margin-right 300ms;
@@ -28,11 +28,11 @@
 }
 
 .app-files .detailsView .detailFileInfoContainer {
-	min-height: 200px;
+	min-height: 80px;
 	padding: 10px;
 }
 
-.app-files .detailsView .detailFileInfoContainer > div{
+.app-files .detailsView .detailFileInfoContainer > div {
 	clear: both;
 	margin-left: 5px;
 }
diff --git a/apps/files/css/files.css b/apps/files/css/files.css
index f2f2c5ac3bcb5e37f5ec44499874e6b831986633..7375baeac305d8c37da1a38a6e2d8a622944c626 100644
--- a/apps/files/css/files.css
+++ b/apps/files/css/files.css
@@ -143,6 +143,7 @@
 #filestable tbody tr:active {
 	background-color: rgb(240,240,240);
 }
+#filestable tbody tr.highlighted,
 #filestable tbody tr.selected {
 	background-color: rgb(230,230,230);
 }
diff --git a/apps/files/js/detailsview.js b/apps/files/js/detailsview.js
index d69d8c09c162d08f409275af64ac6c5bb1ba8a89..feced7e34ddef01ec40b639e910aff3e5574e39d 100644
--- a/apps/files/js/detailsview.js
+++ b/apps/files/js/detailsview.js
@@ -153,6 +153,7 @@
 		setFileInfo: function(fileInfo) {
 			this._fileInfo = fileInfo;
 
+			// FIXME: this will render panels twice
 			this.render();
 
 			// notify all panels
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index 9f0d48ff0117a038647ad49de0f72c8bd87cf889..5c7fcb6b998aaf8160ed89c4e344f6029b8a7698 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -286,12 +286,19 @@
 		 */
 		_updateDetailsView: function(fileInfo) {
 			var self = this;
+			var oldFileInfo = this._detailsView.getFileInfo();
+			if (oldFileInfo) {
+				// TODO: use more efficient way, maybe track the highlight
+				this.$fileList.children().filterAttr('data-id', '' + oldFileInfo.id).removeClass('highlighted');
+			}
+
 			if (!fileInfo) {
 				this._detailsView.$el.addClass('disappear');
 				this._detailsView.setFileInfo(null);
 				return;
 			}
 
+			this.$fileList.children().filterAttr('data-id', '' + fileInfo.id).addClass('highlighted');
 			this._detailsView.setFileInfo(_.extend({
 				path: this.getCurrentDirectory()
 			}, fileInfo));
diff --git a/apps/files_sharing/appinfo/app.php b/apps/files_sharing/appinfo/app.php
index f72f502462244ed96c9ce38a78033917ef490136..9000fafd8dd1835e4feb53c690fbe502b04b2e49 100644
--- a/apps/files_sharing/appinfo/app.php
+++ b/apps/files_sharing/appinfo/app.php
@@ -56,6 +56,7 @@ $application->setupPropagation();
 
 \OCP\Util::addScript('files_sharing', 'share');
 \OCP\Util::addScript('files_sharing', 'external');
+\OCP\Util::addStyle('files_sharing', 'sharetabview');
 
 // FIXME: registering a job here will cause additional useless SQL queries
 // when the route is not cron.php, needs a better way
diff --git a/apps/files_sharing/css/sharetabview.css b/apps/files_sharing/css/sharetabview.css
new file mode 100644
index 0000000000000000000000000000000000000000..a8ad1ceaba7debd6a8b192a17f2025fff9d94e5c
--- /dev/null
+++ b/apps/files_sharing/css/sharetabview.css
@@ -0,0 +1,3 @@
+.app-files .shareTabView {
+	min-height: 200px;
+}
diff --git a/apps/files_sharing/js/sharetabview.js b/apps/files_sharing/js/sharetabview.js
index 42bddc20b3c5e1ec320e59b88d78505be5eebea8..e02de9237519f942befdd8a92bfe693023687f50 100644
--- a/apps/files_sharing/js/sharetabview.js
+++ b/apps/files_sharing/js/sharetabview.js
@@ -55,6 +55,7 @@
 				this.$el.append(this._template({
 					owner: this._fileInfo.shareOwner || OC.currentUser
 				}));
+
 			} else {
 				// TODO: render placeholder text?
 			}