Fix timing of fatal protocol errors bubbling to user

fixes #879