fixing bug where `start` was getting overriden if buffer-remaining is > 0

This was causing some data corruption in an HTTP client I'm writing. I think this should fix it!