diff --git a/java-scpclient/src/main/java/cz/it4i/fiji/scpclient/ScpClient.java b/java-scpclient/src/main/java/cz/it4i/fiji/scpclient/ScpClient.java
index 2f3dc3b627c23be9320385c3e443c4c9541b9bf6..9b2d4baf159cc2c6dc7abea8011b350280feae08 100644
--- a/java-scpclient/src/main/java/cz/it4i/fiji/scpclient/ScpClient.java
+++ b/java-scpclient/src/main/java/cz/it4i/fiji/scpclient/ScpClient.java
@@ -126,6 +126,10 @@ public class ScpClient implements Closeable {
 	{
 		AckowledgementChecker ack = new AckowledgementChecker();
 		// exec 'scp -f rfile' remotely
+
+		lfile=lfile.replace("'", "'\"'\"'");
+		lfile="'"+lfile+"'";
+
 		String command = "scp -f " + lfile;
 		Channel channel = getConnectedSession().openChannel("exec");
 
@@ -265,6 +269,10 @@ public class ScpClient implements Closeable {
 	public long size(String lfile) throws JSchException, IOException {
 		AckowledgementChecker ack = new AckowledgementChecker();
 		// exec 'scp -f rfile' remotely
+
+		lfile=lfile.replace("'", "'\"'\"'");
+		lfile="'"+lfile+"'";
+
 		String command = "scp -f " + lfile;
 		Channel channel = getConnectedSession().openChannel("exec");
 
@@ -410,6 +418,9 @@ public class ScpClient implements Closeable {
 		AckowledgementChecker ack = new AckowledgementChecker();
 		boolean ptimestamp = false;
 		// exec 'scp -t rfile' remotely
+
+		fileName=fileName.replace("'", "'\"'\"'");
+
 		String command = "scp " + (ptimestamp ? "-p" : "") + " -t '" + fileName + "'";
 		Channel channel = getConnectedSession().openChannel("exec");
 		((ChannelExec) channel).setCommand(command);