Fixed reading from the data port