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 dfdffab419310d1d75640538e4d4c314d4e3beaa..558e8003080248505714462352c4e759f40d2caa 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
@@ -34,6 +34,10 @@ public class ScpClient implements Closeable {
 	private JSch jsch = new JSch();
 	private Session session;
 
+	public ScpClient(String hostName, String username, byte[] privateKeyFile) throws JSchException {
+		init(hostName, username, new ByteIdentity(jsch, privateKeyFile));
+	}
+	
 	public ScpClient(String hostName, String username, Identity privateKeyFile) throws JSchException {
 		super();
 		init(hostName, username, privateKeyFile);
@@ -292,8 +296,9 @@ public class ScpClient implements Closeable {
 
 	@Override
 	public void close() {
-		if (session.isConnected()) {
+		if ( session != null && session.isConnected()) {
 			session.disconnect();
+			session = null;
 		}
 	}
 }