combine offset update

should work better when pipe is closed