Fix possibility of not receiving whole data, again