OPENCOBOLのRANDOM関数が変なのか?

これは、要するに乱数を1000回発生させてその平均をとっているはずのプログラムなんだが。。。
なぜか平均が必ず0.3あたりになる。 何が間違っているのだろうか。。桁の扱いとかいまいちちゃんとわかってないからなあ。

       IDENTIFICATION    DIVISION.
       PROGRAM-ID.       CONBOLER.
       DATA              DIVISION.
       WORKING-STORAGE   SECTION.
           01 CURRENT-TIME.
               05 FILLER PIC 9(4).
               05 CT-SECONDS PIC 9(2).
               05 CT-HUNDREDTHS-OF-SECS PIC 9(2).
           01 T PIC 9(5).
           01 CNTI PIC 9(5).
           01 D PIC 9(1)V9(5).
           01 N PIC 9(1)V9(5).
           01 A PIC 9(4)V9(5) VALUE 0.
       PROCEDURE        DIVISION.
       ACCEPT CURRENT-TIME FROM TIME.
       DISPLAY 'TIME = :' CURRENT-TIME.
       COMPUTE T = CT-SECONDS * 60 + CT-HUNDREDTHS-OF-SECS.
       DISPLAY 'SEED: ' T.
       MOVE FUNCTION RANDOM(T) TO D.
       PERFORM VARYING CNTI FROM 1 BY 1 UNTIL CNTI >= 1000
       MOVE FUNCTION RANDOM TO N
       COMPUTE A = A + N
       END-PERFORM.
       COMPUTE A = A / 1000.
       DISPLAY'==============='
       DISPLAY A.
       STOP RUN.