diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index ca41012764aa82f763f266440dd790562d1d7605..7584362317cbddd4a4bef7975c92120f4ad76a35 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -1202,8 +1202,9 @@
 			}
 			td = $('<td></td>').attr({ "class": "date" });
 			td.append($('<span></span>').attr({
-				"class": "modified",
+				"class": "modified live-relative-timestamp",
 				"title": formatted,
+				"data-timestamp": mtime,
 				"style": 'color:rgb('+modifiedColor+','+modifiedColor+','+modifiedColor+')'
 			}).text(text)
 			  .tooltip({placement: 'top'})
diff --git a/core/js/js.js b/core/js/js.js
index 799d2ba0b249a99a12319911f10218aa5caf866f..a123846a72eca27477058bd8a4780cc05dd172f4 100644
--- a/core/js/js.js
+++ b/core/js/js.js
@@ -1660,6 +1660,13 @@ function initCore() {
 		$('body').delegate('#app-content', 'apprendered appresized', adjustControlsWidth);
 
 	}
+
+	// Update live timestamps every 30 seconds
+	setInterval(function() {
+		$('.live-relative-timestamp').each(function() {
+			$(this).text(OC.Util.relativeModifiedDate(parseInt($(this).attr('data-timestamp'), 10)));
+		});
+	}, 30 * 1000);
 }
 
 $(document).ready(initCore);