diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/FtpServer.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/FtpServer.java
index 8f3bfa209be9c5f924acbbf774d7c1dc5a8f015f..95fac237ab66851bfcce9946cea70012e1bd8a2f 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/FtpServer.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/FtpServer.java
@@ -294,6 +294,7 @@ public class FtpServer implements FileSystemFactory, org.apache.sshd.server.File
         private final FileSystemView fileView;
         private final String path;
         private final List<InputStream> inputStreams = new ArrayList<InputStream>();
+        private FtpFile file;
 
         FileView(FileSystemView fileView, String path)
         {
@@ -303,13 +304,17 @@ public class FtpServer implements FileSystemFactory, org.apache.sshd.server.File
         
         private FtpFile getFile()
         {
-            try
-            {
-                return fileView.getFile(path);
-            } catch (FtpException ex)
+            if (file == null)
             {
-                throw CheckedExceptionTunnel.wrapIfNecessary(ex);
+                try
+                {
+                    file = fileView.getFile(path);
+                } catch (FtpException ex)
+                {
+                    throw CheckedExceptionTunnel.wrapIfNecessary(ex);
+                }
             }
+            return file;
         }
 
         public String getAbsolutePath()
@@ -406,9 +411,9 @@ public class FtpServer implements FileSystemFactory, org.apache.sshd.server.File
         {
             List<FtpFile> files = getFile().listFiles();
             List<SshFile> result = new ArrayList<SshFile>();
-            for (FtpFile file : files)
+            for (FtpFile child : files)
             {
-                result.add(new FileView(fileView, file.getAbsolutePath()));
+                result.add(new FileView(fileView, child.getAbsolutePath()));
             }
             return result;
         }