TBufferedFileStream cannot execute SetSize(0) on newly created file

program Project1;

{$mode objfpc}{$H+}

uses
  {$IFDEF UNIX}
  cthreads,
  {$ENDIF}
  SysUtils,
  Classes,
  bufstream;

var
  LStream: TBufferedFileStream;
begin
  LStream := TBufferedFileStream.Create('test.txt', fmCreate or fmShareDenyWrite);
  try
    LStream.Size := 0; // This will cause a system exception.
    Readln;
  finally
    FreeAndNil(LStream);
  end;
end.