diff --git a/apps/files_versions/lib/versions.php b/apps/files_versions/lib/versions.php
index f938a2dbe842331b2ba402973af3d7f60c2e833f..48be5e223ac0eef2b3c6b0973b97274a4bd31245 100644
--- a/apps/files_versions/lib/versions.php
+++ b/apps/files_versions/lib/versions.php
@@ -79,6 +79,7 @@ class Storage {
 
 			// create all parent folders
 			$info=pathinfo($filename);
+			$versionsFolderName=\OCP\Config::getSystemValue('datadirectory').$users_view->getAbsolutePath('files_versions/');
 			if(!file_exists($versionsFolderName.'/'.$info['dirname'])) {
 				mkdir($versionsFolderName.'/'.$info['dirname'], 0750, true);
 			}
@@ -127,7 +128,8 @@ class Storage {
 		list($uid, $oldpath) = self::getUidAndFilename($oldpath);
 		list($uidn, $newpath) = self::getUidAndFilename($newpath);
 		$versions_view = new \OC_FilesystemView('/'.$uid .'/files_versions');
-		$files_view = new \OC_FilesystemView('/'.$uid .'/files');
+		$files_view = new \OC_FilesystemView('/'.$uid .'/files');
+		$abs_newpath = \OCP\Config::getSystemValue('datadirectory').$versions_view->getAbsolutePath('').$newpath;
 		
 		if ( $files_view->is_dir($oldpath) && $versions_view->is_dir($oldpath) ) {
 			$versions_view->rename($oldpath, $newpath);
@@ -149,7 +151,8 @@ class Storage {
 		if(\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') {
 			list($uid, $filename) = self::getUidAndFilename($filename);
 			$users_view = new \OC_FilesystemView('/'.$uid);
-
+			$versionCreated = false;
+			
 			//first create a new version
 			$version = 'files_versions'.$filename.'.v'.$users_view->filemtime('files'.$filename);
 			if ( !$users_view->file_exists($version)) {