Commit Ian's fixes from Bug 3877