diff --git a/lib/private/Files/Storage/Local.php b/lib/private/Files/Storage/Local.php
index bda7f2ea903fee1f39b586b1f17216f20196e6a6..4fe7dcafbbfcb44263dee0604845f9d2555a5b97 100644
--- a/lib/private/Files/Storage/Local.php
+++ b/lib/private/Files/Storage/Local.php
@@ -173,8 +173,16 @@ class Local extends \OC\Files\Storage\Common {
 	}
 
 	public function filemtime($path) {
-		clearstatcache($this->getSourcePath($path));
-		return $this->file_exists($path) ? filemtime($this->getSourcePath($path)) : false;
+		$fullPath = $this->getSourcePath($path);
+		clearstatcache($fullPath);
+		if (!$this->file_exists($path)) {
+			return false;
+		}
+		if (PHP_INT_SIZE === 4) {
+			$helper = new \OC\LargeFileHelper();
+			return $helper->getFileMtime($fullPath);
+		}
+		return filemtime($fullPath);
 	}
 
 	public function touch($path, $mtime = null) {
diff --git a/lib/private/LargeFileHelper.php b/lib/private/LargeFileHelper.php
index 4363fb42cc6276ce97e13fb0f97a8cfcfb2eefb1..9f18a6acd6b09ef6ff566ffbf908deba4856f5ae 100644
--- a/lib/private/LargeFileHelper.php
+++ b/lib/private/LargeFileHelper.php
@@ -1,6 +1,7 @@
 <?php
 /**
  * @copyright Copyright (c) 2016, ownCloud, Inc.
+ * @copyright Copyright (c) 2016, Lukas Reschke <lukas@statuscode.ch>
  *
  * @author Andreas Fischer <bantu@owncloud.com>
  * @author Lukas Reschke <lukas@statuscode.ch>
@@ -177,6 +178,23 @@ class LargeFileHelper {
 		return $result;
 	}
 
+	/**
+	 * Returns the current mtime for $fullPath
+	 *
+	 * @param string $fullPath
+	 * @return int
+	 */
+	public function getFileMtime($fullPath) {
+		if (\OC_Helper::is_function_enabled('exec')) {
+			$os = strtolower(php_uname('s'));
+			if (strpos($os, 'linux') !== false) {
+				return $this->exec('stat -c %Y ' . escapeshellarg($fullPath));
+			}
+		}
+
+		return filemtime($fullPath);
+	}
+
 	protected function exec($cmd) {
 		$result = trim(exec($cmd));
 		return ctype_digit($result) ? 0 + $result : null;