diff --git a/internal/ftpd/handler.go b/internal/ftpd/handler.go
index 036c3977..33211261 100644
--- a/internal/ftpd/handler.go
+++ b/internal/ftpd/handler.go
@@ -169,7 +169,7 @@ func (c *Connection) Stat(name string) (os.FileInfo, error) {
 		}
 		return nil, err
 	}
-	return fi, nil
+	return vfs.NewFileInfo(name, fi.IsDir(), fi.Size(), fi.ModTime(), false), nil
 }

 // Name returns the name of this connection
@@ -315,7 +315,17 @@ func (c *Connection) ReadDir(name string) (ftpserver.DirLister, error) {
 		}, nil
 	}

-	return c.ListDir(name)
+	lister, err := c.ListDir(name)
+	if err != nil {
+		return nil, err
+	}
+	return &patternDirLister{
+		DirLister:      lister,
+		pattern:        "*",
+		lastCommand:    c.clientContext.GetLastCommand(),
+		dirName:        name,
+		connectionPath: c.clientContext.Path(),
+	}, nil
 }

 // GetHandle implements ClientDriverExtentionFileTransfer
