diff --git a/test_client/tests/src/com/owncloud/android/lib/test_project/test/CreateFolderTest.java b/test_client/tests/src/com/owncloud/android/lib/test_project/test/CreateFolderTest.java
index 30a5aa0f..3b77f220 100644
--- a/test_client/tests/src/com/owncloud/android/lib/test_project/test/CreateFolderTest.java
+++ b/test_client/tests/src/com/owncloud/android/lib/test_project/test/CreateFolderTest.java
@@ -91,42 +91,34 @@ public class CreateFolderTest extends ActivityInstrumentationTestCase2<TestActiv
 	public void testCreateFolderSpecialCharacters() {		
 		
 		String remotePath = FOLDER_PATH_BASE + "_\\" + mCurrentDate;
-		mCreatedFolderPaths.add(remotePath);
 		RemoteOperationResult result =  mActivity.createFolder(remotePath, true);
 		assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
 		
 		remotePath = FOLDER_PATH_BASE + "_<" + mCurrentDate;		
-		mCreatedFolderPaths.add(remotePath);
 		result =  mActivity.createFolder(remotePath, true);
 		assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
 		
 		remotePath = FOLDER_PATH_BASE + "_>" + mCurrentDate;		
-		mCreatedFolderPaths.add(remotePath);
 		result =  mActivity.createFolder(remotePath, true);
 		assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
 		
 		remotePath = FOLDER_PATH_BASE + "_:" + mCurrentDate;		
-		mCreatedFolderPaths.add(remotePath);
 		result =  mActivity.createFolder(remotePath, true);
 		assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
 		
 		remotePath = FOLDER_PATH_BASE + "_\"" + mCurrentDate;		
-		mCreatedFolderPaths.add(remotePath);
 		result =  mActivity.createFolder(remotePath, true);
 		assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
 		
 		remotePath = FOLDER_PATH_BASE + "_|" + mCurrentDate;		
-		mCreatedFolderPaths.add(remotePath);
 		result =  mActivity.createFolder(remotePath, true);
 		assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
 		
 		remotePath = FOLDER_PATH_BASE + "_?" + mCurrentDate;		
-		mCreatedFolderPaths.add(remotePath);
 		result =  mActivity.createFolder(remotePath, true);
 		assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
 		
 		remotePath = FOLDER_PATH_BASE + "_*" + mCurrentDate;		
-		mCreatedFolderPaths.add(remotePath);
 		result =  mActivity.createFolder(remotePath, true);
 		assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
 	}
diff --git a/test_client/tests/src/com/owncloud/android/lib/test_project/test/DownloadFileTest.java b/test_client/tests/src/com/owncloud/android/lib/test_project/test/DownloadFileTest.java
index a63f191e..f6ae428a 100644
--- a/test_client/tests/src/com/owncloud/android/lib/test_project/test/DownloadFileTest.java
+++ b/test_client/tests/src/com/owncloud/android/lib/test_project/test/DownloadFileTest.java
@@ -25,9 +25,6 @@
 package com.owncloud.android.lib.test_project.test;
 
 import java.io.File;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
 
 import com.owncloud.android.lib.resources.files.RemoteFile;
 import com.owncloud.android.lib.common.operations.RemoteOperationResult;
@@ -56,13 +53,12 @@ public class DownloadFileTest extends ActivityInstrumentationTestCase2<TestActiv
 	
 	private static boolean mGlobalSetupDone = false;
 	
-	private List<String> mDownloadedFilesPaths;
+	private String mDownloadedFilePath;
 	private TestActivity mActivity;
 
 	
 	public DownloadFileTest() {
 	    super(TestActivity.class);
-		mDownloadedFilesPaths = new ArrayList<String>();
 	}
 	
 	@Override
@@ -70,7 +66,7 @@ public class DownloadFileTest extends ActivityInstrumentationTestCase2<TestActiv
 	    super.setUp();
 	    setActivityInitialTouchMode(false);
 	    mActivity = getActivity();
-	    mDownloadedFilesPaths.clear();
+	    mDownloadedFilePath = null;
 	    
 	    if (!mGlobalSetupDone) {
 	    	
@@ -106,7 +102,7 @@ public class DownloadFileTest extends ActivityInstrumentationTestCase2<TestActiv
 				new RemoteFile(IMAGE_PATH), 
 				mActivity.getFilesDir().getAbsolutePath()
 				);
-		mDownloadedFilesPaths.add(IMAGE_PATH);
+		mDownloadedFilePath = IMAGE_PATH;
 		assertTrue(result.isSuccess());
 		// TODO some checks involving the local file
 	}
@@ -119,7 +115,7 @@ public class DownloadFileTest extends ActivityInstrumentationTestCase2<TestActiv
 				new RemoteFile(IMAGE_PATH_WITH_SPECIAL_CHARS),
 				mActivity.getFilesDir().getAbsolutePath()
 				);
-		mDownloadedFilesPaths.add(IMAGE_PATH_WITH_SPECIAL_CHARS);
+		mDownloadedFilePath = IMAGE_PATH_WITH_SPECIAL_CHARS;
 		assertTrue(result.isSuccess());
 		// TODO some checks involving the local file
 	}
@@ -138,10 +134,8 @@ public class DownloadFileTest extends ActivityInstrumentationTestCase2<TestActiv
 	
 	@Override
 	protected void tearDown() throws Exception {
-		Iterator<String> it = mDownloadedFilesPaths.iterator();
-		RemoteOperationResult removeResult = null;
-		while (it.hasNext()) {
-			removeResult = mActivity.removeFile(it.next());
+		if (mDownloadedFilePath != null) {
+			RemoteOperationResult removeResult = mActivity.removeFile(mDownloadedFilePath);
 			if (!removeResult.isSuccess()) {
 				Utils.logAndThrow(LOG_TAG, removeResult);
 			}
diff --git a/test_client/tests/src/com/owncloud/android/lib/test_project/test/RenameFileTest.java b/test_client/tests/src/com/owncloud/android/lib/test_project/test/RenameFileTest.java
index 8c305371..23b5b276 100644
--- a/test_client/tests/src/com/owncloud/android/lib/test_project/test/RenameFileTest.java
+++ b/test_client/tests/src/com/owncloud/android/lib/test_project/test/RenameFileTest.java
@@ -24,11 +24,15 @@
 
 package com.owncloud.android.lib.test_project.test;
 
+import java.io.File;
+
 import com.owncloud.android.lib.common.operations.RemoteOperationResult;
 import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode;
+import com.owncloud.android.lib.resources.files.FileUtils;
 import com.owncloud.android.lib.test_project.TestActivity;
 
 import android.test.ActivityInstrumentationTestCase2;
+import android.util.Log;
 
 /**
  * Class to test Rename File Operation
@@ -38,20 +42,24 @@ import android.test.ActivityInstrumentationTestCase2;
 
 public class RenameFileTest extends ActivityInstrumentationTestCase2<TestActivity> {
 
+	private static final String LOG_TAG = RenameFileTest.class.getCanonicalName();
+	
 	/* Folder data to rename. This folder must exist on the account */
-	private final String mOldFolderName = "folderToRename";
-	private final String mOldFolderPath = "/folderToRename";
-	private final String mNewFolderName = "renamedFolder"; 
-	private final String mNewFolderPath = "/renamedFolder";
-	
+	private static final String OLD_FOLDER_NAME = "folderToRename";
+	private static final String OLD_FOLDER_PATH = FileUtils.PATH_SEPARATOR + OLD_FOLDER_NAME;
+	private static final String NEW_FOLDER_NAME = "renamedFolder";
+	private static final String NEW_FOLDER_PATH = FileUtils.PATH_SEPARATOR + NEW_FOLDER_NAME;
+
 	/* File data to rename. This file must exist on the account */
-	private final String mOldFileName = "fileToRename.png";
-	private final String mOldFilePath = "/fileToRename.png";
-	private final String mNewFileName = "renamedFile";
-	private final String mFileExtension = ".png";
-	private final String mNewFilePath ="/renamedFile.png";
+	private static final String OLD_FILE_NAME = "fileToRename.png";
+	private static final String OLD_FILE_PATH = FileUtils.PATH_SEPARATOR + OLD_FILE_NAME;
+	private static final String NEW_FILE_NAME = "renamedFile.png";
+	private static final String NEW_FILE_PATH = FileUtils.PATH_SEPARATOR + NEW_FILE_NAME;
 	
 	
+	private static boolean mGlobalSetupDone = false;
+	
+	private String mToCleanUpInServer;
 	private TestActivity mActivity;
 	
 	public RenameFileTest() {
@@ -64,6 +72,29 @@ public class RenameFileTest extends ActivityInstrumentationTestCase2<TestActivit
 	    super.setUp();
 	    setActivityInitialTouchMode(false);
 	    mActivity = getActivity();
+
+	    if (!mGlobalSetupDone) {
+	    	
+			Log.v(LOG_TAG, "Starting global set up");
+			RemoteOperationResult result = mActivity.createFolder(OLD_FOLDER_NAME, true);
+			if (!result.isSuccess()) {
+				Utils.logAndThrow(LOG_TAG, result);
+			}
+			
+			File imageFile = mActivity.extractAsset(TestActivity.ASSETS__IMAGE_FILE_NAME);
+			result = mActivity.uploadFile(
+					imageFile.getAbsolutePath(), 
+					OLD_FILE_PATH, 
+					"image/png");
+			if (!result.isSuccess()) {
+				Utils.logAndThrow(LOG_TAG, result);
+			}
+			
+			Log.v(LOG_TAG, "Global set up done");
+		    mGlobalSetupDone = true;
+	    }
+	    
+		mToCleanUpInServer = null;
 	}
 	
 	/**
@@ -71,9 +102,14 @@ public class RenameFileTest extends ActivityInstrumentationTestCase2<TestActivit
 	 */
 	public void testRenameFolder() {
 
-		RemoteOperationResult result = mActivity.renameFile(mOldFolderName, mOldFolderPath, 
-				mNewFolderName, true);
+		mToCleanUpInServer = OLD_FOLDER_PATH;
+		RemoteOperationResult result = mActivity.renameFile(
+				OLD_FOLDER_NAME, 
+				OLD_FOLDER_PATH, 
+				NEW_FOLDER_NAME,
+				true);
 		assertTrue(result.isSuccess());
+		mToCleanUpInServer = NEW_FOLDER_PATH;
 	}
 	
 	/**
@@ -81,36 +117,36 @@ public class RenameFileTest extends ActivityInstrumentationTestCase2<TestActivit
 	 */
 	public void testRenameFolderForbiddenChars() {
 		
-		RemoteOperationResult result = mActivity.renameFile(mOldFolderName, mOldFolderPath, 
-				mNewFolderName + "\\", true);
+		RemoteOperationResult result = mActivity.renameFile(OLD_FOLDER_NAME, OLD_FOLDER_PATH, 
+				NEW_FOLDER_NAME + "\\", true);
 		assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
 		
-		result = mActivity.renameFile(mOldFolderName, mOldFolderPath, 
-				mNewFolderName + "<", true);
+		result = mActivity.renameFile(OLD_FOLDER_NAME, OLD_FOLDER_PATH, 
+				NEW_FOLDER_NAME + "<", true);
 		assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
 		
-		result = mActivity.renameFile(mOldFolderName, mOldFolderPath, 
-				mNewFolderName + ">", true);
+		result = mActivity.renameFile(OLD_FOLDER_NAME, OLD_FOLDER_PATH, 
+				NEW_FOLDER_NAME + ">", true);
 		assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
 		
-		result = mActivity.renameFile(mOldFolderName, mOldFolderPath, 
-				mNewFolderName + ":", true);
+		result = mActivity.renameFile(OLD_FOLDER_NAME, OLD_FOLDER_PATH, 
+				NEW_FOLDER_NAME + ":", true);
 		assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
 		
-		result = mActivity.renameFile(mOldFolderName, mOldFolderPath, 
-				mNewFolderName + "\"", true);
+		result = mActivity.renameFile(OLD_FOLDER_NAME, OLD_FOLDER_PATH, 
+				NEW_FOLDER_NAME + "\"", true);
 		assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
 		
-		result = mActivity.renameFile(mOldFolderName, mOldFolderPath, 
-				mNewFolderName + "|", true);
+		result = mActivity.renameFile(OLD_FOLDER_NAME, OLD_FOLDER_PATH, 
+				NEW_FOLDER_NAME + "|", true);
 		assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
 		
-		result = mActivity.renameFile(mOldFolderName, mOldFolderPath, 
-				mNewFolderName + "?", true);
+		result = mActivity.renameFile(OLD_FOLDER_NAME, OLD_FOLDER_PATH, 
+				NEW_FOLDER_NAME + "?", true);
 		assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
 		
-		result = mActivity.renameFile(mOldFolderName, mOldFolderPath, 
-				mNewFolderName + "*", true);
+		result = mActivity.renameFile(OLD_FOLDER_NAME, OLD_FOLDER_PATH, 
+				NEW_FOLDER_NAME + "*", true);
 		assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
 	}
 	
@@ -118,9 +154,14 @@ public class RenameFileTest extends ActivityInstrumentationTestCase2<TestActivit
 	 * Test Rename File
 	 */
 	public void testRenameFile() {
-		RemoteOperationResult result = mActivity.renameFile(mOldFileName, mOldFilePath, 
-				mNewFileName + mFileExtension, false);
+		mToCleanUpInServer = OLD_FILE_PATH;
+		RemoteOperationResult result = mActivity.renameFile(
+				OLD_FILE_NAME, 
+				OLD_FILE_PATH, 
+				NEW_FILE_NAME, 
+				false);
 		assertTrue(result.isSuccess());
+		mToCleanUpInServer = NEW_FILE_PATH;
 	}
 	
 	
@@ -128,50 +169,73 @@ public class RenameFileTest extends ActivityInstrumentationTestCase2<TestActivit
 	 * Test Rename Folder with forbidden characters: \  < >  :  "  |  ?  *
 	 */
 	public void testRenameFileForbiddenChars() {		
-		RemoteOperationResult result = mActivity.renameFile(mOldFileName, mOldFilePath, 
-				mNewFileName + "\\" + mFileExtension, false);
+		RemoteOperationResult result = mActivity.renameFile(
+				OLD_FILE_NAME, 
+				OLD_FILE_PATH, 
+				"\\" + NEW_FILE_NAME,
+				false);
 		assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
 		
-		result = mActivity.renameFile(mOldFileName, mOldFilePath, 
-				mNewFileName + "<" + mFileExtension, false);
+		result = mActivity.renameFile(
+				OLD_FILE_NAME, 
+				OLD_FILE_PATH, 
+				"<" + NEW_FILE_NAME, 
+				false);
 		assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
 		
-		result = mActivity.renameFile(mOldFileName, mOldFilePath, 
-				mNewFileName + ">" + mFileExtension, false);
+		result = mActivity.renameFile(
+				OLD_FILE_NAME, 
+				OLD_FILE_PATH, 
+				">" + NEW_FILE_NAME,
+				false);
 		assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
 		
-		result = mActivity.renameFile(mOldFileName, mOldFilePath, 
-				mNewFileName + ":" + mFileExtension, false);
+		result = mActivity.renameFile(
+				OLD_FILE_NAME, 
+				OLD_FILE_PATH, 
+				":" + NEW_FILE_NAME,
+				false);
 		assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
 		
-		result = mActivity.renameFile(mOldFileName, mOldFilePath, 
-				mNewFileName + "\"" + mFileExtension, false);
+		result = mActivity.renameFile(
+				OLD_FILE_NAME,
+				OLD_FILE_PATH, 
+				"\"" + NEW_FILE_NAME,
+				false);
 		assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
 		
-		result = mActivity.renameFile(mOldFileName, mOldFilePath, 
-				mNewFileName + "|" + mFileExtension, false);
+		result = mActivity.renameFile(
+				OLD_FILE_NAME,
+				OLD_FILE_PATH, 
+				"|" + NEW_FILE_NAME,
+				false);
 		assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
 		
-		result = mActivity.renameFile(mOldFileName, mOldFilePath, 
-				mNewFileName + "?" + mFileExtension, false);
+		result = mActivity.renameFile(
+				OLD_FILE_NAME,
+				OLD_FILE_PATH, 
+				"?" + NEW_FILE_NAME,
+				false);
 		assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
 		
-		result = mActivity.renameFile(mOldFileName, mOldFilePath, 
-				mNewFileName + "*" + mFileExtension, false);
+		result = mActivity.renameFile(
+				OLD_FILE_NAME,
+				OLD_FILE_PATH, 
+				"*" + NEW_FILE_NAME, false);
 		assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
 		
 	}
 	
 	
-	/**
-	 * Restore initial conditions
-	 */
-	public void testRestoreInitialConditions() {
-		RemoteOperationResult result = mActivity.renameFile(mNewFolderName, mNewFolderPath, mOldFolderName, true);
-		assertTrue(result.isSuccess());
-		
-		result = mActivity.renameFile(mNewFileName + mFileExtension, mNewFilePath, mOldFileName, false);
-		assertTrue(result.isSuccess());
+	@Override
+	protected void tearDown() throws Exception {
+		if (mToCleanUpInServer != null) {
+			RemoteOperationResult removeResult = mActivity.removeFile(mToCleanUpInServer);
+			if (!removeResult.isSuccess()) {
+				Utils.logAndThrow(LOG_TAG, removeResult);
+			}
+		}
+		super.tearDown();
 	}
 	
 }
diff --git a/test_client/tests/src/com/owncloud/android/lib/test_project/test/UploadFileTest.java b/test_client/tests/src/com/owncloud/android/lib/test_project/test/UploadFileTest.java
index a4028a6f..5a69f0d2 100644
--- a/test_client/tests/src/com/owncloud/android/lib/test_project/test/UploadFileTest.java
+++ b/test_client/tests/src/com/owncloud/android/lib/test_project/test/UploadFileTest.java
@@ -25,9 +25,6 @@
 package com.owncloud.android.lib.test_project.test;
 
 import java.io.File;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
 
 import android.test.ActivityInstrumentationTestCase2;
 
@@ -54,12 +51,11 @@ public class UploadFileTest extends ActivityInstrumentationTestCase2<TestActivit
 
 	private TestActivity mActivity;
 	private File mFileToUpload, mFileToUploadWithChunks;
-	private List<String> mUploadedFilesPaths;
+	private String mUploadedFilePath;
 	
 	
 	public UploadFileTest() {
 	    super(TestActivity.class);
-		mUploadedFilesPaths = new ArrayList<String>();
 	}
 	
 	@Override
@@ -67,7 +63,7 @@ public class UploadFileTest extends ActivityInstrumentationTestCase2<TestActivit
 	    super.setUp();
 	    setActivityInitialTouchMode(false);
 	    mActivity = getActivity();
-	    mUploadedFilesPaths.clear();
+	    mUploadedFilePath = null;
 	    
 		mFileToUpload = mActivity.extractAsset(TestActivity.ASSETS__IMAGE_FILE_NAME);
 		mFileToUploadWithChunks = mActivity.extractAsset(TestActivity.ASSETS__VIDEO_FILE_NAME);
@@ -84,7 +80,7 @@ public class UploadFileTest extends ActivityInstrumentationTestCase2<TestActivit
 				UPLOAD_PATH, 
 				"image/png"
 				);
-	    mUploadedFilesPaths.add(UPLOAD_PATH);
+	    mUploadedFilePath = UPLOAD_PATH;
 		assertTrue(result.isSuccess());
 	}
 	
@@ -98,7 +94,7 @@ public class UploadFileTest extends ActivityInstrumentationTestCase2<TestActivit
 				CHUNKED_UPLOAD_PATH, 
 				"video/mp4"
 				);
-	    mUploadedFilesPaths.add(CHUNKED_UPLOAD_PATH);
+	    mUploadedFilePath = CHUNKED_UPLOAD_PATH;
 		assertTrue(result.isSuccess());
 	}
 	
@@ -112,16 +108,15 @@ public class UploadFileTest extends ActivityInstrumentationTestCase2<TestActivit
 				FILE_NOT_FOUND_PATH, 
 				"image/png"
 				);
+		mUploadedFilePath = FILE_NOT_FOUND_PATH;
 		assertFalse(result.isSuccess());
 	}
 	
 
 	@Override
 	protected void tearDown() throws Exception {
-		Iterator<String> it = mUploadedFilesPaths.iterator();
-		RemoteOperationResult removeResult = null;
-		while (it.hasNext()) {
-			removeResult = mActivity.removeFile(it.next());
+		if (mUploadedFilePath != null) {
+			RemoteOperationResult removeResult = mActivity.removeFile(mUploadedFilePath);
 			if (!removeResult.isSuccess()) {
 				Utils.logAndThrow(LOG_TAG, removeResult);
 			}