Merge changes from original of_protocol