Was missing a break of the while loop on connection. This potentially caused early data frames to be trashed.