diff --git a/files/index.php b/files/index.php
index 8bb5b618d87834e4e52c8ff9c0ca07b1d7024192..4b3bbd1bfd49f39c3bc7f0730e7a499a24b3f8a4 100644
--- a/files/index.php
+++ b/files/index.php
@@ -89,6 +89,10 @@ $upload_max_filesize = OC_Helper::computerFileSize(ini_get('upload_max_filesize'
 $post_max_size = OC_Helper::computerFileSize(ini_get('post_max_size'));
 $maxUploadFilesize = min($upload_max_filesize, $post_max_size);
 
+$freeSpace=OC_Filesystem::free_space('/');
+$freeSpace=max($freeSpace,0);
+$maxUploadFilesize = min($maxUploadFilesize ,$freeSpace);
+
 $tmpl = new OC_Template( "files", "index", "user" );
 $tmpl->assign( "fileList", $list->fetchPage() );
 $tmpl->assign( "breadcrumb", $breadcrumbNav->fetchPage() );