Ao ler o arquivo no MIPS, ele lê a última linha duas vezes

Consegui (parcialmente) ler com êxito em um arquivo nos MIPs. Abaixo está o meu código atual. No QtSpim, quando o executo, recebo um ponteiro para o arquivo em $ a1, mas os últimos caracteres do arquivo são repetidos duas vezes. O número de caracteres repetidos muda de acordo com o arquivo. Pelo que vi, parece estar vinculado ao número de caracteres de nova linha no arquivo, a menos que os caracteres de nova linha estejam no final do arquivo (ou seja, se houvesse 5 caracteres de nova linha, o os últimos 5 caracteres do arquivo aparecerão duplicados no final da leitura do arquivo), embora não veja nenhuma razão para que isso ocorra. (FYI, esse código é copiado quase literalmente deaqui exceto que lê em vez de gravações)

.data
fin: .asciiz "c:/input.txt"
fBuffer: .space 1024
.text
main:
    jal  openFile
    jr   $ra

#returns: pointer to file's text in $a1
openFile:
    li   $v0, 13       # system call for open file 
    la   $a0, fin  #fin is the file name
    li   $a1, 0    # 0 means 'read'
    li   $a2, 0
    syscall            # open file
    move $s6, $v0      # save the file descriptor

    #read from file
    li   $v0, 14       # system call for read from file
    move $a0, $s6      # file descriptor 
    la   $a1, fBuffer   
    li   $a2, 1024     # hardcoded buffer length
    syscall            # read from file

    # Close the file 
    li   $v0, 16       # system call for close file
    move $a0, $s6      # file descriptor to close
    syscall            # close file
    jr $ra

questionAnswers(1)

yourAnswerToTheQuestion