diff --git a/uk/ac/sanger/artemis/j2ssh/SshPSUClient.java b/uk/ac/sanger/artemis/j2ssh/SshPSUClient.java
index f6129dcc58263f4b31db9df6181cbb6f82db74d5..c17e5bfe2db2d54b6aea50836a07d00f4fe96b20 100644
--- a/uk/ac/sanger/artemis/j2ssh/SshPSUClient.java
+++ b/uk/ac/sanger/artemis/j2ssh/SshPSUClient.java
@@ -331,31 +331,35 @@ public class SshPSUClient extends Thread
       if(index > -1)
         filename = filename.substring(index+1);
 
-      try
-      {
-        if(!keep)
-          wdir = wdir+"/"+user;
-        sftp.mkdir(wdir);
-        wdir = wdir+"/"+program+"/";
-
-        sftp.mkdir(wdir);
-//      sftp.put(filepath, wdir+filename);
-      }
-      catch(SshException sshe)
+      if(i == 0)
       {
-        logger4j.debug("runBlastOrFasta()");
-        if(System.getProperty("debug") != null)
+        try
         {
-          sshe.printStackTrace();
+          if(!keep)
+            wdir = wdir + "/" + user;
+          sftp.mkdir(wdir);
+          wdir = wdir + "/" + program + "/";
+
+          sftp.mkdir(wdir);
+          logger4j.debug("mkdir() " + wdir);
+          // sftp.put(filepath, wdir+filename);
+        }
+        catch(SshException sshe)
+        {
+          logger4j.debug("runBlastOrFasta()");
+          if(System.getProperty("debug") != null)
+          {
+            sshe.printStackTrace();
+          }
+          rescue();
+          sftp = getSftpClient();
+          if(!wdir.endsWith(program + "/"))
+            wdir = wdir + "/" + program + "/";
+        }
+        catch(IOException ioe)
+        {
+          // directory already created
         }
-        rescue();
-        sftp = getSftpClient();
-        if(!wdir.endsWith(program+"/"))
-          wdir = wdir+"/"+program+"/";
-      }
-      catch(IOException ioe)
-      {
-        // directory already created
       }