First part of bug 680: