diff --git a/apps/files/js/files.js b/apps/files/js/files.js
index daf762abb8cb9c918d456733efb16c593119ad9a..9af9592929af0aa06e9dcaa26c34a9ea73d06a3d 100644
--- a/apps/files/js/files.js
+++ b/apps/files/js/files.js
@@ -402,9 +402,10 @@ var dragOptions={
 	},
 	drag: function(event, ui) {
 		var currentScrollTop = $("#app-content").scrollTop();
+		var scrollArea = Math.min(Math.floor($(window).innerHeight()/2), 300);
 
-		var bottom = $(window).innerHeight() - 300;
-        	var top = $(window).scrollTop() + 300;
+		var bottom = $(window).innerHeight() - scrollArea;
+		var top = $(window).scrollTop() + scrollArea;
 		if (event.pageY < top){
 			$('html, body').animate({
 				scrollTop: $("#app-content").scrollTop(currentScrollTop-=10)