diff --git a/lib/files/storage/local.php b/lib/files/storage/local.php
index c3a643fe98069628e1d1500e83e72155b332e765..81e32587fca4be27be62cd761538031f64a97dcc 100644
--- a/lib/files/storage/local.php
+++ b/lib/files/storage/local.php
@@ -95,7 +95,7 @@ class Local extends \OC\Files\Storage\Common{
 		// sets the modification time of the file to the given value.
 		// If mtime is nil the current time is set.
 		// note that the access time of the file always changes to the current time.
-		if(!$this->isUpdatable($path)) {
+		if($this->file_exists($path) and !$this->isUpdatable($path)) {
 			return false;
 		}
 		if(!is_null($mtime)) {
diff --git a/tests/lib/files/storage/storage.php b/tests/lib/files/storage/storage.php
index 3d68efea5fc78c5358636d1996a9121cb5cc6c4f..0e22f26ae838f79c7fe76f8500d1dbf5670006a0 100644
--- a/tests/lib/files/storage/storage.php
+++ b/tests/lib/files/storage/storage.php
@@ -257,4 +257,10 @@ abstract class Storage extends \PHPUnit_Framework_TestCase {
 		$content = stream_get_contents($fh);
 		$this->assertEquals(file_get_contents($textFile), $content);
 	}
+
+	public function testTouchCreateFile(){
+		$this->assertFalse($this->instance->file_exists('foo'));
+		$this->instance->touch('foo');
+		$this->assertTrue($this->instance->file_exists('foo'));
+	}
 }