Index: java/SVNAccess/src/net/oni2/svnaccess/SVN.java
===================================================================
--- java/SVNAccess/src/net/oni2/svnaccess/SVN.java	(revision 853)
+++ java/SVNAccess/src/net/oni2/svnaccess/SVN.java	(revision 854)
@@ -45,5 +45,5 @@
 	private void setProxy(BasicAuthenticationManager authMan) {
 		ProxySettings prox = ProxySettings.getInstance();
-		if (prox.validate()) {
+		if (prox.validate() && prox.isUseProxy()) {
 			authMan.setProxy(prox.getHostOrIp(), prox.getPort(), null, null);
 		}
@@ -126,5 +126,6 @@
 	 * @param wcDir
 	 *            Local working copy path to compare against
-	 * @return -1: No local working copy yet<br>
+	 * @return -2: No connection to remote repos<br>
+	 *         -1: No local working copy yet<br>
 	 *         0: Revisions are equal<br>
 	 *         1: SVN contains newer revisions<br>
@@ -138,15 +139,25 @@
 		if (wcDir.exists()) {
 			int localRev = pathIsWCof(repos, wcDir);
-			if (localRev < 0)
-				throw new Exception(
-						"Destination path exists but is not a Working Copy of the SVN");
+			if (localRev < 0) {
+				if (wcDir.listFiles().length > 0) {
+					throw new Exception(
+							"Destination path exists but is not a Working Copy of the SVN");
+				} else {
+					wcDir.delete();
+					return -1;
+				}
+			}
 			int remoteRev = getRemoteHeadRevision(repos);
 			if (remoteRev > localRev)
 				return 1;
 			else {
-				if (getMissingFiles(wcDir))
-					return 2;
-				else
-					return 0;
+				if (remoteRev < 0) {
+					return -2;
+				} else {
+					if (getMissingFiles(wcDir))
+						return 2;
+					else
+						return 0;
+				}
 			}
 		} else {
@@ -201,4 +212,5 @@
 				err.println("Error while getting information of working copy for the location '"
 						+ reposUrl + "': " + e.getMessage());
+				e.printStackTrace();
 			}
 		}
@@ -240,4 +252,5 @@
 			err.println("Error while updating the working copy for the location '"
 					+ reposUrl + "': " + e.getMessage());
+			e.printStackTrace();
 		}
 		return false;
@@ -254,4 +267,5 @@
 			err.println("Error while getting the list of files of the location '"
 					+ reposUrl + "': " + e.getMessage());
+			e.printStackTrace();
 		}
 		return list;
@@ -274,4 +288,5 @@
 			err.println("Error while checking out a working copy for the location '"
 					+ reposUrl + "': " + e.getMessage());
+			e.printStackTrace();
 		}
 		return result;
