Protect against exceptions in tag-based features

Use 'protectOrDefault' or `protect` wherever possible.
Possible fix for #790.